解决vant title-active-color与title-inactive-color不生效问题


Posted in Javascript onNovember 03, 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
 },
}

这就没问题啦!

补充知识:简单粗暴修改vant组件nav-bar的title(标题的字体颜色)

最近我有人问我关于vant组件的nav-bar的标题颜色需要改但是不会,我去网上找了一下,发现都很复杂

然后我发现通过深度选择器可以修改nav-bar的标题的字体颜色

代码:

<template>
 <view>
 <demo-block title="基础用法" class="reset">
 <van-nav-bar title="标题" left-text="返回" right-text="按钮" left-arrow @clickLeft="onClickLeft" @clickRight="onClickRight" id="reset"/>
 </demo-block>

 <demo-block title="高级用法">
 <van-nav-bar title="标题" left-text="返回" left-arrow>
 <van-icon name="search" slot="right" custom-class="icon" />
 </van-nav-bar>
 </demo-block>

 </view>
</template>

<script>
 import Page from '../../common/page';

 export default {
 data() {
 return {

 }
 },
 onLoad() {},
 methods: {
 onClickLeft() {
 console.log("11");//TODO 进不来
 uni.showToast({
  title: '点击返回',
  icon: 'none'
 });
 },

 onClickRight() {
 uni.showToast({
  title: '点击按钮',
  icon: 'none'
 });
 }
 }
 }
</script>

<style>
 .icon {
 color: #1989fa;
 } 
 #reset /deep/ .van-ellipsis{
 color: red !important;
 }
</style>

效果:

解决vant title-active-color与title-inactive-color不生效问题

解释: 给组件定义个id,再通过这个深度选择器获取title的标签的类名,修改它的颜色即可.

以上这篇解决vant title-active-color与title-inactive-color不生效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用新的消息弹出框blackbirdjs
Oct 16 Javascript
在JavaScript中监听IME键盘输入事件
May 29 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
May 23 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
原生javascript模仿win8等待提示圆圈进度条
Apr 24 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
JS中正则表达式要注意lastIndex属性
Aug 08 Javascript
vue2.0父子组件间传递数据的方法
Aug 16 Javascript
JS实现的碰撞检测与周期移动完整示例
Sep 02 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
Nov 03 #Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 #Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
Nov 03 #Javascript
React Native登录之指纹登录篇的示例代码
Nov 03 #Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
Nov 03 #Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 03 #Javascript
使用vant的地域控件追加全部选项
Nov 03 #Javascript
You might like
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
Javascript中的数学函数
2007/04/04 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
认识less和webstrom的less配置方法
2017/08/02 Javascript
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
详解vue axios二次封装
2018/07/22 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
详解rem 适配布局
2018/10/31 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python