解决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 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 Javascript
jQuery动画特效实例教程
Aug 29 Javascript
用javascript将数据导入Excel示例代码
Sep 10 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
在nginx上部署vue项目(history模式)的方法
Dec 28 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
js字符串处理之绝妙的代码
Apr 05 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静态类
2006/11/25 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
Python实现网络端口转发和重定向的方法
2016/09/19 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
详解如何减少python内存的消耗
2019/08/09 Python
python的移位操作实现详解
2019/08/21 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
python中二分查找法的实现方法
2020/12/06 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
可能这些是你想要的H5软键盘兼容方案(小结)
2019/04/23 HTML / CSS
2014端午节活动策划方案
2014/01/27 职场文书
企业文化演讲稿
2014/05/20 职场文书
2014年学校工作总结
2014/11/20 职场文书
房屋认购协议书
2015/01/29 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
女儿满月酒致辞
2015/07/29 职场文书
导游词之包公祠
2019/11/25 职场文书
vue router 动态路由清除方式
2022/05/25 Vue.js