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 相关文章推荐
jQuery第三课 修改元素属性及内容的代码
Mar 14 Javascript
Knockoutjs快速入门(经典)
Dec 24 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
JQuery异步获取返回值中文乱码的解决方法
Jan 29 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
Mar 03 Javascript
Bootstrap的基本应用要点浅析
Dec 19 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
Vue原理剖析 实现双向绑定MVVM
May 03 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
layui使用及简单的三级联动实现教程
Dec 01 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
PHP 编写大型网站问题集
2010/05/07 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
Django用户认证系统 User对象解析
2019/08/02 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
西部世纪面试题
2014/12/05 面试题
生产经理的自我评价分享
2013/11/07 职场文书
校园网站的创业计划书范文
2013/12/30 职场文书
运动会方阵解说词
2014/02/12 职场文书
主题团日活动总结
2014/06/25 职场文书
学校社会实践活动总结
2014/07/03 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle