解决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 相关文章推荐
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 Javascript
七个很有意思的PHP函数
May 12 Javascript
用JavaScript实现用一个DIV来包装文本元素节点
Sep 09 Javascript
JS实现很实用的对联广告代码(可自适应高度)
Sep 18 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
微信小程序的动画效果详解
Jan 18 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
浅谈angularJS的$watch失效问题的解决方案
Aug 11 Javascript
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
js校验开始时间和结束时间
May 26 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
mysql5写入和读出乱码解决
2006/11/25 PHP
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
解决laravel session失效的问题
2019/10/14 PHP
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
深入理解Python中range和xrange的区别
2017/11/26 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
flask-restful使用总结
2018/12/04 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
简单介绍django提供的加密算法
2019/12/18 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
柯基袜:Corgi Socks
2017/01/26 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
安全检查验收制度
2014/01/12 职场文书
重阳节活动总结
2014/08/27 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
人事局接收函
2015/01/30 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
市场营销计划书
2019/04/24 职场文书
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers