解决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 相关文章推荐
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
Dec 02 Javascript
jquery 全局AJAX事件使用代码
Nov 05 Javascript
限制textbox或textarea输入字符长度的JS代码
Oct 16 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
详解maxlength属性在textarea里奇怪的表现
Dec 27 Javascript
详解Javascript百度地图接口开发文档中的类和方法
Feb 07 Javascript
jQuery插件zTree实现的多选树效果示例
Mar 08 Javascript
Vue组件中的data必须是一个function的原因浅析
Sep 03 Javascript
mpvue中使用flyjs全局拦截的实现代码
Sep 13 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
JsonServer安装及启动过程图解
Feb 28 Javascript
vue+iview分页组件的封装
Nov 17 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中运用http调用的GET和POST方法示例
2014/09/29 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
javascript类型转换使用方法
2014/02/08 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
浅谈react性能优化的方法
2018/09/05 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
python 获取图片分辨率的方法
2019/01/08 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
C#笔试题集合
2013/06/21 面试题
最新大学职业规划书范文
2013/12/30 职场文书
明星员工获奖感言
2014/08/14 职场文书
班级出游活动计划书
2014/08/15 职场文书
烟台的海导游词
2015/02/02 职场文书
欢送领导祝酒词
2015/08/12 职场文书
详解Django的MVT设计模式
2021/04/29 Python
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏