使用vant的地域控件追加全部选项


Posted in Javascript onNovember 03, 2020

在项目中使用了vant的Area插件,需要进行全部匹配,vant本身没有实现,需要改造代码,方法如下:

<div class="site">
 <span class>起点</span>
 <van-cell v-model="start" @click="areaSelect(0)"></van-cell>
</div>
<div class="site">
 <span>终点</span>
 <van-cell v-model="end" @click="areaSelect(1)"></van-cell>
</div>
<van-popup v-model="show" position="bottom">
 <van-area :area-list="areaList" @cancel="onCancel" @confirm="onConfirm" @change="change" ref="area" />
</van-popup>

vue的methos中添加下面两个方法:

change(picker, value, index){
  if(value[0].code != 100000){

  if(index == 0){
   let addr = this.areaList;
   let areaListCode = value[0].code;
   let code1 = Object.assign({},addr.city_list,{[areaListCode]:"全部"});
   let code2 = Object.assign({},addr.county_list,{[areaListCode]:"全部"});
   this.areaList.city_list = code1;
   this.areaList.county_list = code2;
  }
  if (index == 1) {
   let addr = this.areaList;
   let areaListCode = value[1].code;
   let code = Object.assign({},addr.county_list,{[areaListCode]: "全部"});
   this.areaList.county_list = code;
  }
  }
 },
 areaSelect(type) {
  let addr = this.areaList;
  this.PickerType = type;
  this.show = true;  
  if(this.PickerType == 1 && this.endAddrInfo == "请选择"){
   this.$refs.area.reset();
  };
  let province_list = Object.assign({},addr.province_list,{100000:"全部"});
  let city_list = Object.assign({},addr.city_list,{100100:"全部"});
  let county_list = Object.assign({},addr.county_list ,{100101:"全部"});
  this.areaList={
  province_list,city_list,county_list
  };
 },

补充知识:使用vant中的Area 省市区选择和Area控件如果没有选中第三级的话就选不到当前值

今天要使用Area选择器在网上查了很多方法一直都无法让他隐藏再弹出来今天我就写下我的心得

效果图如下:

使用vant的地域控件追加全部选项

Area组件一般都是配合van-cell使用的

使用vant的地域控件追加全部选项

1,在加载页面的时候我让show为false

使用vant的地域控件追加全部选项

使用vant的地域控件追加全部选项

然后在点击了van-cell组件之后调用areaSelect方法把show变为true就能显示

使用vant的地域控件追加全部选项

使用vant的地域控件追加全部选项

然后还有就是如要要有联动效果一定要在给个初始值,这个的作用就是你点击area控件之后弹出控件就算不选址直接点击确定也可以有默认值

使用vant的地域控件追加全部选项

在者就是要想取的值一定要给onChange写成这样,不然的话,如果你没有触发第三级(就是区县的话)就不会刷新就是还是上一个选中的区县的值,刚开始我是写成这样

错误的:

使用vant的地域控件追加全部选项

正确的:

使用vant的地域控件追加全部选项

以上这篇使用vant的地域控件追加全部选项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript脚本调试方法小结
Nov 24 Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
JavaScript 实现打印,打印预览,打印设置
Dec 30 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
Vue.js手风琴菜单组件开发实例
May 16 Javascript
JavaScript设计模式之命令模式实例分析
Jan 16 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
原生js 实现表单验证功能
Feb 08 Javascript
vue vant中picker组件的使用
Nov 03 #Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 #Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 #Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 #Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 #Javascript
antd中table展开行默认展示,且不需要前边的加号操作
Nov 02 #Javascript
React Ant Design树形表格的复杂增删改操作
Nov 02 #Javascript
You might like
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
javascript 获取图片颜色
2009/04/05 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
Python 转义字符详细介绍
2017/03/21 Python
python实现自动解数独小程序
2019/01/21 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
教师开学感言
2014/02/14 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
授权委托书格式
2014/07/31 职场文书
观看信仰心得体会
2014/09/04 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis