解决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 相关文章推荐
关于文本限制字数的js代码
Apr 02 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
如何高效率去掉js数组中的重复项
Apr 12 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
Nov 03 Javascript
javascript中的面向对象
Mar 30 Javascript
jquery实现提示语淡入效果
May 05 jQuery
Vue之Watcher源码解析(2)
Jul 19 Javascript
bootstrap Table服务端处理分页(后台是.net)
Oct 19 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
微信头像地址失效踩坑记附带解决方案
Sep 23 Javascript
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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
Python版微信红包分配算法
2015/05/04 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
实践Vim配置python开发环境
2018/07/02 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python中while和for的区别总结
2019/06/28 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
override和overload的区别
2016/03/09 面试题
小饰品店的创业计划书范文
2013/12/28 职场文书
迎国庆横幅标语
2014/10/08 职场文书
展览会邀请函
2015/02/02 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle