使用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 相关文章推荐
DEFER怎么用?
Jul 01 Javascript
IE与FireFox的兼容性问题分析
Apr 22 Javascript
JavaScript prototype对象的属性说明
Mar 13 Javascript
jQuery 名称冲突的解决方法
Apr 08 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
Jan 31 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
jquery.serialize() 函数语法及简单实例
Jul 08 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 Javascript
原生JavaScript实现随机点名表
Jan 14 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结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
Django的session中对于用户验证的支持
2015/07/23 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
Python类如何定义私有变量
2020/02/03 Python
pytorch梯度剪裁方式
2020/02/04 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
python 操作excel表格的方法
2020/12/05 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
自我鉴定怎么写
2014/01/12 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers