地址选择器

<!-- 地址选择组件 -->
<template>
  <el-form :model="form" class="demo-ruleForm" :rules="rules" ref="form" label-position="top">

  <el-row :gutter="20" class="address">
      <el-col :span="5">
        <el-form-item prop="province">
        <el-select v-model="form.province" placeholder="请输入省" @change="proChange" >
          <el-option
            v-for="item in provinces"
            :key="item.value"
            :value="item.value">
          </el-option>
        </el-select>
        </el-form-item>
      </el-col>

    <el-col :span="5">
      <el-form-item  prop="city">

      <el-select v-model="form.city" placeholder="请输入市" @change="cityChange" >
        <el-option
          v-for="item in citys"
          :key="item.value"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>

    </el-col>

    <el-col :span="12">
      <el-form-item  prop="detail">

      <el-input
        placeholder="请填写详细地址"
        :number="true"
        v-model="form.detail">
      </el-input>
      </el-form-item>

    </el-col>

  </el-row>
</el-form>
</template>
<script>
  import addressData from ‘../assets/js/addressData.js‘
  import store from ‘src/store.js‘
  function formatData(data){
    var result = [];
    for(var key in data){
      result.push({
        value: key
      })
    }
    return result
  }
  export default {
    name:‘address‘,
    props:[‘province‘,‘city‘,‘detail‘,‘isAddressTrue‘],
    data: function () {
      return {
        rules:{
          province:[{required:true,message:‘请选择省份‘,trigger:‘change‘}],
          city:[{required:true,message:‘请选择城市‘,trigger:‘change‘}],
          detail:[{required:true,message:‘请填写详细地址‘,trigger:‘change‘}]
        },
        form:{
          province: this.province,
          city: this.city,
          detail: this.detail
        },
        provinces: formatData(addressData)
      }
    },
    watch: {
      form: {
        handler:function(){
          store.commit(‘setRuleForm‘,this.form);
        },
        deep:true
      },
      ifCheckFrom: function (val,oldVal) {
        if(val){
          this.$refs.form.validate((valid) => {
          }) ;
        }
      }
    },
    computed: {
      citys: function (){
        return formatData(addressData[this.form.province])
      },
      ifCheckFrom: function () {
        return this.isAddressTrue
      }
    },
    methods: {
      proChange: function (val,oldVal) {
        if(oldVal){
          this.form.city=‘‘;
          this.form.detail=‘‘;
        }
        var data = formatData(addressData[this.form.province]);
        for(var i =0; i<data.length; i++){
          this.$set(this.citys,i,data[i]);
        }
      },
      cityChange: function (val, oldVal) {
        if (oldVal) {
          this.form.detail = ‘‘;
        }
      },
    }
  }
</script>
<style>
  .address .el-form-item{margin-bottom: 0!important;margin-right: 0!important;}
</style>
时间: 2024-07-30 10:22:23

地址选择器的相关文章

自定义的地址选择器(UIPickView)。功能是:选择省后,其下的城市都会出现。

自定义的地区选择器 序言: 现在,许多APP里面都有注册界面和地址填写界面还有快递功能.这都会离不开一个很小的功能.那就是地址的选择和填写. 正文: 今天,我们要做一个地址填写的工具出来,很快速的完成,你的地址选择.我们要做的工具的功能是: 当你选择一个省或者市,则其下的城市都会出现.就不用我们在乱找了. 注意: 在此工具的创建时,遇到了一个很大难处.难处就是没有省地区的借口.现在,我已经写了一个,并以JSon的格式上传本博客资源里. 如果需要的朋友欢迎下载.我们为此,还要学会搭建本地服务器.

关于前端选择器设计原理与实现

1 选择器的概念 选择器其实是一种较小数据源,供我们选择参数值使用,同时提供参数让选择器回显.选择器的表现形式多种多样,可以是模态弹出框,也可以是非模态扁平化弹出层.如我们常见的下拉选择器,下拉树形选择器 地址选择器.表现形式多种多样 2 选择器形式分类 既然选择器是提供一个数据源被用户选择,和回显用户选择的数据项,那么我们可以知道以下几点: 第一:被选中的数据结构,他可以是简单的数据类型,string,bool,或者number,也可以是复杂的array和object类型.对于array无外乎

适应移动端的地址四级(省市区街道)联动选择

首先推荐两款个人比较优秀的控件: 一.https://huangchanghuan.github.io/city-picker/ 这个是由 city-picker 控件(npm 安装方法: npm install city-picker),地址三级改造而来,数据由京东数据库提供. 优点: 1. 样式比较容易自定义: 2. 对省级地址按字母进行了区分,直观了然. 缺点: 1. 储存地址数据的文件,省市区街道四级在一个文件里,该文件接近 1M ,比较耗费流量: 2. 数据是由京东数据库提供,如果京东

iOS炫酷动画图案、多种选择器、网络测速、滑动卡片效果等源码

iOS精选源码 对网络进行测速 自实现大标题,配合原生骨架屏demo 简单方便的pickerVIew记录数据 LZPickerView 科技风绘制组件,简单快速"画"出炫酷图案 ResponderChain+Strategy+MVVM实现一个优雅的TableView Card Slider EWAddressPicker.选择中国省市区的自定制地址选择器 EWDatePicker 日期选择器 EWToast.简易Toast提示框 FMDB改进方案YIIFMDB:直接将Model存入数据

前端效果

近期项目中用到的一些自己写的或者整理而成的前端效果干货 目录 一.jQuery 上下滚动抽奖效果 二.JQ地址级联划动选择器-中国省市区 三.JQ地址级联划动选择器-日期 四.JQ地址级联划动选择器-日期时间 五.jQuery + animation.css滑动解锁 六.jQuery.countdown jQuery倒计时插件 七.Simple Switch 简单的jQuery Switch开关插件 八.jQuery下拉刷新 九.Three.js全景小游戏,找小黄豆 十.Egret小游戏,手势控

近期项目中用到的一些自己写的或者整理而成的前端效果干货

目录 一.jQuery 上下滚动抽奖效果 二.JQ地址级联划动选择器-中国省市区 三.JQ地址级联划动选择器-日期 四.JQ地址级联划动选择器-日期时间 五.jQuery + animation.css滑动解锁 六.jQuery.countdown jQuery倒计时插件 七.Simple Switch 简单的jQuery Switch开关插件 八.jQuery下拉刷新 九.Three.js全景小游戏,找小黄豆 十.Egret小游戏,手势控制弹球球 十一.jQuery + animate.css

拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc

不久前发布了一篇博文".NET轻量级RPC框架:Rabbit.Rpc",当初只实现了非常简单的功能,也罗列了之后的计划,经过几天的不断努力又为Rabbit.Rpc增加了一大波新特性,今天主要介绍下项目近况. 特性一览 Apache License 2.0协议开源 支持客户端负载均衡(提供了轮询.随机算法的实现) 支持ZooKeeper和文件共享形式的服务协调 运行时客户端代理生成(基于Roslyn) 预生成客户端代理 客户端代理预生成(基于Roslyn) 抽象的编解码器(提供了JSON

Android开源工具项目集合

最近因为要去外派了,工欲善其事,必先利其器!所以又回顾了一下自己github上所收藏的项目,也算是温故而知新吧. 最流行的android组件大全 http://www.open-open.com/lib/view/open1409108030307.html Android开源项目分类汇总 http://www.open-open.com/lib/view/open1406272852585.html Android开发免费类库和工具集合 http://www.open-open.com/lib

25类Android常用开源框架

1.图片加载,缓存,处理 框架名称 功能描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide 一个图片加载和缓存的库,使用的App有:网易新闻 GlidePalette Android Lollipop Palette is now easy to use with Glide PicassoPalette Android Lol