解决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 相关文章推荐
页面中iframe相互传值传参
Dec 13 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
jQuery实现折叠、展开的菜单组效果代码
Sep 16 Javascript
js代码实现点击按钮出现60秒倒计时
Jan 28 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
May 21 Javascript
bootstrapValidator 重新启用提交按钮的方法
Feb 20 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
node.js微信小程序配置消息推送的实现
Feb 13 Javascript
javascript获取元素的计算样式
May 24 Javascript
react 组件传值的三种方法
Jun 03 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
Jan 02 Javascript
利用H5api实现时钟的绘制(javascript)
Sep 13 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依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
package.json配置文件构成详解
2019/08/27 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
vue实现放大镜效果
2020/09/17 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
python通过smpt发送邮件的方法
2015/04/30 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
关于梦想的演讲稿
2014/05/05 职场文书
校园环保标语
2014/06/13 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技