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 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
小议Javascript中的this指针
Mar 18 Javascript
Android中的jQuery:AQuery简介
May 06 Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 Javascript
纯javascript制作日历控件
Jul 17 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 Javascript
jQuery事件绑定on()与弹窗实现代码
Apr 28 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
关于layui 下拉列表的change事件详解
Sep 20 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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数据饼图效果实现代码
2011/11/23 PHP
php依赖注入知识点详解
2019/09/23 PHP
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python list与NumPy array 区分详解
2019/11/06 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
基于Python的OCR实现示例
2020/04/03 Python
Python 发送邮件方法总结
2020/08/10 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
南京迈特望C/C++面试题
2012/07/09 面试题
架构师岗位职责
2013/11/18 职场文书
大学生自我评价范文分享
2014/02/21 职场文书
旅游市场营销方案
2014/03/09 职场文书
职务说明书范文
2014/05/07 职场文书
七一晚会主持词
2015/06/29 职场文书
JavaScript实现简单计时器
2021/06/22 Javascript
Python中super().__init__()测试以及理解
2021/12/06 Python
Redis特殊数据类型bitmap位图
2022/06/01 Redis