解决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 相关文章推荐
phpwind放自动注册方法
Dec 02 Javascript
javascript下string.format函数补充
Aug 24 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
Oct 24 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
基于axios封装fetch方法及调用实例
Feb 05 Javascript
vue 组件中添加样式不生效的解决方法
Jul 06 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
vue.js实现备忘录demo
Jun 26 Javascript
通过实例解析js可枚举属性与不可枚举属性
Dec 02 Javascript
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
如何在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函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php xhprof使用实例详解
2019/04/15 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
javascript时区函数介绍
2012/09/14 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python部署web开发程序的几种方法
2017/05/05 Python
多版本Python共存的配置方法
2017/05/22 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
在django中,关于session的通用设置方法
2019/08/06 Python
python实现邮件自动发送
2019/08/10 Python
Python笔记之工厂模式
2019/11/20 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
违纪检讨书范文
2015/01/27 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server