解决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 相关文章推荐
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
自己使用jquery写的一个无缝滚动的插件
Apr 30 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
原生js封装运动框架的示例讲解
Oct 01 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
Dec 27 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
react+redux仿微信聊天界面
Jun 21 Javascript
vue 动态表单开发方法案例详解
Dec 02 Javascript
javascript对象3个属性特征
Nov 17 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数组函数
2008/08/18 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python实现的选择排序算法示例
2017/11/29 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
简单了解python的break、continue、pass
2019/07/08 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
玩转CSS3色彩
2010/01/16 HTML / CSS
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
公司庆典活动邀请函
2014/01/09 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
农业开发项目建议书
2014/05/16 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书