解决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 相关文章推荐
关于URL中的特殊符号使用介绍
Nov 03 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
浅谈Sizzle的“编译原理”
Apr 14 Javascript
JS表格组件神器bootstrap table详解(强化版)
May 26 Javascript
基于bootstrap实现广告轮播带图片和文字效果
Jul 22 Javascript
Vue.js弹出模态框组件开发的示例代码
Jul 26 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
Vue开发环境跨域访问问题
Jan 22 Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 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文本数据库的搜索方法
2006/10/09 PHP
php print EOF实现方法
2009/05/21 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
php和asp语法上的区别总结
2019/05/12 PHP
发现的以前不知道的函数
2006/09/19 Javascript
让您的菜单不离网站
2006/10/03 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
JS如何寻找数组中心索引过程解析
2020/06/01 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
浅谈django orm 优化
2018/08/18 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
在vscode中配置python环境过程解析
2019/09/28 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
台湾最大网路书店:博客来
2018/03/18 全球购物
分居协议书范本
2014/11/03 职场文书
争先创优个人总结
2015/03/04 职场文书