解决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之通用简单的table选项卡实现(二)
May 09 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
通过js获取div的background-image属性
Oct 15 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
js移动端事件基础及常用事件库详解
Aug 15 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
Nov 07 Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
微信小程序学习总结(五)常见问题实例小结
Jun 04 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并发访问实例代码
2012/09/06 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
Python中random模块用法实例分析
2015/05/19 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
详解Python字典小结
2018/10/20 Python
详解python:time模块用法
2019/03/25 Python
python 标准差计算的实现(std)
2019/07/29 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python自动生成model文件过程详解
2019/11/02 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
详解python 内存优化
2020/08/17 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Python pip 常用命令汇总
2020/10/19 Python
python MD5加密的示例
2020/10/19 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
《守株待兔》教学反思
2014/03/01 职场文书
班级学习计划书
2014/04/27 职场文书
中药学专业求职信
2014/05/31 职场文书
任命书范本大全
2014/06/06 职场文书
党员公开承诺书2015
2015/01/21 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL