解决vant title-active-color与title-inactive-color不生效问题

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>

效果:

解释: 给组件定义个id,再通过这个深度选择器获取title的标签的类名,修改它的颜色即可.

以上这篇解决vant title-active-color与title-inactive-color不生效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 解决vant title-active-color与title-inactive-color不生效问题 的全部内容, 来源链接: utcz.com/p/238396.html

回到顶部