vant自定义二级菜单操作


Posted in Javascript onNovember 02, 2020

(1)组件解释:

本组件是为了解决二级联动的效果编写的,这里使用了省份和城市分开的效果,具体展示效果,可以参考下面。

(2)组件代码:

<template>
 <div>
 <button @click="showM">{{ value || "选择省份" }}</button>
 <button @click="showC">{{ value2 || "选择城市" }}</button>
 <!-- 省份 -->
 <van-popup v-model="showPicker" position="bottom">
  <van-picker
  show-toolbar
  :columns="columns"
  @confirm="onConfirm"
  @cancel="showPicker = false"
  />
 </van-popup>
 <!-- 城市 -->
 <van-popup v-model="showPicker2" position="bottom">
  <van-picker
  show-toolbar
  :columns="columns2"
  @confirm="onConfirm2"
  @cancel="showPicker2 = false"
  />
 </van-popup>
 </div>
</template>

<script>
export default {
 mounted() {},
 data() {
 return {
  value: "",
  value2: "",
  columns: ["杭州", "北京", "海南省"],
  city: [
  {
   name: "杭州",
   value: ["广州", "佛山"]
  },
  {
   name: "北京",
   value: ["海淀", "廊坊"]
  },
  {
   name: "海南省",
   value: ["三亚", "海口"]
  }
  ],
  showPicker: false,
  showPicker2: false,
  columns2: []
 };
 },
 methods: {
 onConfirm(value) {
  this.value = value;
  this.value2 = "";
  this.showPicker = false;
 },
 onConfirm2(value) {
  this.value2 = value;
  this.showPicker2 = false;
 },
 showM() {
  this.showPicker = true;
 },
 showC() {
  if (this.value) {
  let self = this;
  self.showPicker2 = true;
  self.city.forEach(v => {
   if (v.name == self.value) {
   self.value2 = self.name;
   self.columns2 = v.value;
   }
  });
  } else {
  }
 }
 },
 components: {}
};
</script>
<style lang="scss" scoped>

</style>

(3)展示效果:

vant自定义二级菜单操作

还可以结合筛选功能使用:

vant自定义二级菜单操作

补充知识:vant二级联动picker选择器

我就废话不多说了,大家还是直接看代码吧~

<van-picker :columns="columns" @change="onChange" />

const citys = {
   '浙江': ['杭州', '宁波', '温州', '嘉兴', '湖州'],
   '福建': ['福州', '厦门', '莆田', '三明', '泉州']
 };
data:{
columns: [
  {
 values: Object.keys(citys),
 className: 'column1'
  },
  {
 values: citys['浙江'],
 className: 'column2',
 defaultIndex: 2
  }
],
}
onChange(picker, values) {
  picker.setColumnValues(1, citys[values[0]]);
   console.log(values)
 },

以上这篇vant自定义二级菜单操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
jquery操作angularjs对象
Jun 26 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
AngularJS中ng-class用法实例分析
Jul 06 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
Promise.all中对于reject的处理方法
Aug 01 Javascript
node.js环境搭建图文详解
Sep 19 Javascript
小程序实现多选框功能
Oct 30 Javascript
js设置鼠标悬停改变背景色实现详解
Jun 26 Javascript
js+canvas实现纸牌游戏
Mar 16 Javascript
JavaScript动态生成表格的示例
Nov 02 #Javascript
JavaScript实现图片放大预览效果
Nov 02 #Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
Nov 02 #Javascript
在antd4.0中Form使用initialValue操作
Nov 02 #Javascript
vue+iview使用树形控件的具体使用
Nov 02 #Javascript
在antd Form表单中select设置初始值操作
Nov 02 #Javascript
react+antd 递归实现树状目录操作
Nov 02 #Javascript
You might like
桌面中心(一)创建数据库
2006/10/09 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
orm获取关联表里的属性值
2016/04/17 PHP
详解php中的implements 使用
2017/06/13 PHP
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
python远程登录代码
2008/04/29 Python
深入浅析python with语句简介
2018/04/11 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
python os模块简单应用示例
2019/05/23 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
什么是继承
2013/12/07 面试题
小学德育工作经验交流材料
2014/05/22 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书