解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题


Posted in Javascript onAugust 05, 2020

1、创建vue项目

2、使用vant组件

npm install vant --S

全局引用时在main.js引入

import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant);

假如你引入之后发现页面的样式和组件都挂载了,但是console控制台会报错,说xxxx组件没有register,这个时候很有可能是你的vant插件版本有问题,重新下载一个最新的vant就可以了,现在是2.6.0版本

好,接下来继续

在需要使用下拉框的地方使用下拉框组件

<van-dropdown-menu>
  <van-dropdown-item
   v-model="value"
  :options="developList"
  />
</van-dropdown-menu>
 
data () {
  return {
  value: ''
  developList: [
   {
   value: '1',
   text: '我是第一个'
   },
  {
   value: '2',
   text: '我是第二个'
   },
  ]
 }
}

假如是这样的话那么下拉框就会默认显示第一个字眼“wishing第一个”,然后你在点击下拉框选择第二个时也会改变成“我是第二个”

如果你不想有默认选中,并且一开始就显示请选择这样的提示字眼,那么我们可以去看看vant的api文档,发现有一个title的字眼,这个title就是下拉框的显示文字,一开始很多人以为这个下拉框的title只是用来显示然后点击下拉框的item之后会自动绑定过的,但其实是错误的,以下就是一个很好的例子

<van-dropdown-menu>
 <van-dropdown-item
 title="请选择"
 v-model="value"
 :disabled="disabled"
 :options="developList"
 />
</van-dropdown-menu>
 
data () {
  return {
  value: ''
  developList: [
   {
   value: '1',
   text: '我是第一个'
   },
  {
   value: '2',
   text: '我是第二个'
   },
  ]
 }
}

你会发现请选择的自然从来没变过,无论你选择了第一个还是第二个,那么你就会想title是不是绑定,接下来就有以下操作

<van-dropdown-menu>
 <van-dropdown-item
 :title="title"
 v-model="value"
 :disabled="disabled"
 :options="developList"
 />
</van-dropdown-menu>
 
data () {
  return {
  value: ''
  title:''请选择,
  developList: [
   {
   value: '1',
   text: '我是第一个'
   },
  {
   value: '2',
   text: '我是第二个'
   },
  ]
 }
}

加下来发现还是没有改动啊,那是不是绑定的值没有发生改变了,好像是的,因为你值定义了这个title,这个title就是下拉框选择的显示,只是你没有title的时候vant把你选择的text文字映射到title上去了,一旦你自己使用title进行绑定,那么每次修改时就要修改title,查看vant api可以发现有change事件,接下来就可以操作了

<van-dropdown-menu>
 <van-dropdown-item
 :title="title"
 v-model="value"
 :options="developList"
 @change="changeDevelop"
 />
</van-dropdown-menu>
 
data () {
  return {
  value: ''
  title:''请选择,
  developList: [
   {
   value: '1',
   text: '我是第一个'
   },
  {
   value: '2',
   text: '我是第二个'
   },
  ]
 }
},
 
methods: {
 changeDevelop (i) {
  this.title = this.developList[i-1].text
 },
}

这就没问题啦!

以上这篇解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
JQuery中使用.each()遍历元素学习笔记
Nov 08 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
May 25 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
Node.js简单入门前传
Aug 21 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
tangram.js库实现js类的方式实例分析
Jan 06 Javascript
vue-router+nginx 非根路径配置方法
Jun 30 Javascript
js实现贪吃蛇小游戏(加墙)
Jul 31 Javascript
Vue如何实现组件间通信
May 15 Vue.js
vant 自定义 van-dropdown-item的用法
Aug 05 #Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 #Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
Aug 05 #Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 #Javascript
vue 限制input只能输入正数的操作
Aug 05 #Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 #Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 #Javascript
You might like
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
Python高效编程技巧
2013/01/07 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
python logging日志模块原理及操作解析
2019/10/12 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
python实现简单遗传算法
2020/09/18 Python
python爬虫如何解决图片验证码
2021/02/14 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
应届生面试求职信
2014/07/02 职场文书
商务经理岗位职责
2014/08/03 职场文书
行政处罚告知书
2015/07/01 职场文书
2015国庆节66周年标语
2015/07/30 职场文书