使用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 相关文章推荐
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
jQuery.holdReady()方法用法实例
Dec 27 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
JS简单设置下拉选择框默认值的方法
Aug 20 Javascript
JSON与XML的区别对比及案例应用
Nov 11 Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 Javascript
JS对象深度克隆实例分析
Mar 16 Javascript
vue 计时器组件的实现代码
Sep 14 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
element-ui循环显示radio控件信息的方法
Aug 24 Javascript
vue组件tabbar使用方法详解
Nov 06 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实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
php去掉文件前几行的方法
2015/07/29 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
菜单效果
2006/10/14 Javascript
javascript中对对层的控制
2006/12/29 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
图解javascript作用域链
2019/05/27 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
如何更优雅地写python代码
2019/07/02 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
图书馆志愿者活动总结
2014/06/27 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android