使用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怎样实现ajax联动框(二)
Mar 08 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
jQuery控制Div拖拽效果完整实例分析
Apr 15 Javascript
javascript获取本机操作系统类型的方法
Aug 13 Javascript
jquery编写Tab选项卡滚动导航切换特效
Jul 17 Javascript
JS实现的几个常用算法
Nov 12 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
Nov 22 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
Dec 28 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 Javascript
js实现随机点名器精简版
Jun 29 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 Cookie的一个使用注意点
2008/11/08 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
JS获取动态添加元素的方法详解
2019/07/31 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
Python实现多进程的四种方式
2019/02/22 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
骨干教师培训制度
2014/01/13 职场文书
护士的自我鉴定
2014/02/07 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
丽江古城导游词
2015/02/03 职场文书
警示教育观后感
2015/06/17 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers