使用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 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
Aug 15 Javascript
Jquery实现自定义窗口随意的拖拽
Mar 12 Javascript
jQuery中next()方法用法实例
Jan 07 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
Apr 29 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
EasyUI中在表单提交之前进行验证
Jul 19 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
详解Angular路由 ng-route和ui-router的区别
May 22 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 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查询域名状态whois的类
2006/11/25 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
销售简历自我评价
2014/01/24 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
2016新年致辞
2015/08/01 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
Python使用永中文档转换服务
2022/05/06 Python