使用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 event事件在IE、FF兼容性问题
Jan 01 Javascript
js和jquery使按钮失效为不可用状态的方法
Jan 26 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
confirm确认对话框的实现方法总结
Jun 17 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
深入对Vue.js $watch方法的理解
Mar 20 Javascript
详解ES6系列之私有变量的实现
Nov 21 Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 Vue.js
JavaScript函数柯里化
Nov 07 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
深入解答关于Python的11道基本面试题
2017/04/01 Python
Python装饰器简单用法实例小结
2018/12/03 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
python实现在线翻译
2020/06/18 Python
如何将json数据转换为python数据
2020/09/04 Python
python speech模块的使用方法
2020/09/09 Python
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
.NET面试问题集
2015/12/08 面试题
七年级数学教学反思
2014/01/22 职场文书
股票投资建议书
2014/05/19 职场文书
领导班子四风表现材料
2014/08/23 职场文书
党性教育心得体会
2014/09/03 职场文书
学校食堂标语
2014/10/06 职场文书
世界气象日活动总结
2015/02/27 职场文书
社团招新宣传语
2015/07/13 职场文书