解決vant title-active-color與title-inactive-color不生效問(wèn)題
1、創(chuàng)建vue項(xiàng)目
2、使用vant組件
npm install vant --S
全局引用時(shí)在main.js引入
import Vant from 'vant'; import 'vant/lib/index.css'; Vue.use(Vant);
假如你引入之后發(fā)現(xiàn)頁(yè)面的樣式和組件都掛載了,但是console控制臺(tái)會(huì)報(bào)錯(cuò),說(shuō)xxxx組件沒(méi)有register,這個(gè)時(shí)候很有可能是你的vant插件版本有問(wèn)題,重新下載一個(gè)最新的vant就可以了,現(xiàn)在是2.6.0版本
好,接下來(lái)繼續(xù)
在需要使用下拉框的地方使用下拉框組件
<van-dropdown-menu>
<van-dropdown-item
v-model="value"
:options="developList"
/>
</van-dropdown-menu>
data () {
return {
value: ''
developList: [
{
value: '1',
text: '我是第一個(gè)'
},
{
value: '2',
text: '我是第二個(gè)'
},
]
}
}
假如是這樣的話那么下拉框就會(huì)默認(rèn)顯示第一個(gè)字眼“wishing第一個(gè)”,然后你在點(diǎn)擊下拉框選擇第二個(gè)時(shí)也會(huì)改變成“我是第二個(gè)”
如果你不想有默認(rèn)選中,并且一開(kāi)始就顯示請(qǐng)選擇這樣的提示字眼,那么我們可以去看看vant的api文檔,發(fā)現(xiàn)有一個(gè)title的字眼,這個(gè)title就是下拉框的顯示文字,一開(kāi)始很多人以為這個(gè)下拉框的title只是用來(lái)顯示然后點(diǎn)擊下拉框的item之后會(huì)自動(dòng)綁定過(guò)的,但其實(shí)是錯(cuò)誤的,以下就是一個(gè)很好的例子
<van-dropdown-menu>
<van-dropdown-item
title="請(qǐng)選擇"
v-model="value"
:disabled="disabled"
:options="developList"
/>
</van-dropdown-menu>
data () {
return {
value: ''
developList: [
{
value: '1',
text: '我是第一個(gè)'
},
{
value: '2',
text: '我是第二個(gè)'
},
]
}
}
你會(huì)發(fā)現(xiàn)請(qǐng)選擇的自然從來(lái)沒(méi)變過(guò),無(wú)論你選擇了第一個(gè)還是第二個(gè),那么你就會(huì)想title是不是綁定,接下來(lái)就有以下操作
<van-dropdown-menu>
<van-dropdown-item
:title="title"
v-model="value"
:disabled="disabled"
:options="developList"
/>
</van-dropdown-menu>
data () {
return {
value: ''
title:''請(qǐng)選擇,
developList: [
{
value: '1',
text: '我是第一個(gè)'
},
{
value: '2',
text: '我是第二個(gè)'
},
]
}
}
加下來(lái)發(fā)現(xiàn)還是沒(méi)有改動(dòng)啊,那是不是綁定的值沒(méi)有發(fā)生改變了,好像是的,因?yàn)槟阒刀x了這個(gè)title,這個(gè)title就是下拉框選擇的顯示,只是你沒(méi)有title的時(shí)候vant把你選擇的text文字映射到title上去了,
一旦你自己使用title進(jìn)行綁定,那么每次修改時(shí)就要修改title,查看vant api可以發(fā)現(xiàn)有change事件,接下來(lái)就可以操作了
<van-dropdown-menu>
<van-dropdown-item
:title="title"
v-model="value"
:options="developList"
@change="changeDevelop"
/>
</van-dropdown-menu>
data () {
return {
value: ''
title:''請(qǐng)選擇,
developList: [
{
value: '1',
text: '我是第一個(gè)'
},
{
value: '2',
text: '我是第二個(gè)'
},
]
}
},
methods: {
changeDevelop (i) {
this.title = this.developList[i-1].text
},
}
這就沒(méi)問(wèn)題啦!
補(bǔ)充知識(shí):簡(jiǎn)單粗暴修改vant組件nav-bar的title(標(biāo)題的字體顏色)
最近我有人問(wèn)我關(guān)于vant組件的nav-bar的標(biāo)題顏色需要改但是不會(huì),我去網(wǎng)上找了一下,發(fā)現(xiàn)都很復(fù)雜
然后我發(fā)現(xiàn)通過(guò)深度選擇器可以修改nav-bar的標(biāo)題的字體顏色
代碼:
<template>
<view>
<demo-block title="基礎(chǔ)用法" class="reset">
<van-nav-bar title="標(biāo)題" left-text="返回" right-text="按鈕" left-arrow @clickLeft="onClickLeft" @clickRight="onClickRight" id="reset"/>
</demo-block>
<demo-block title="高級(jí)用法">
<van-nav-bar title="標(biāo)題" 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 進(jìn)不來(lái)
uni.showToast({
title: '點(diǎn)擊返回',
icon: 'none'
});
},
onClickRight() {
uni.showToast({
title: '點(diǎn)擊按鈕',
icon: 'none'
});
}
}
}
</script>
<style>
.icon {
color: #1989fa;
}
#reset /deep/ .van-ellipsis{
color: red !important;
}
</style>
效果:

解釋?zhuān)?給組件定義個(gè)id,再通過(guò)這個(gè)深度選擇器獲取title的標(biāo)簽的類(lèi)名,修改它的顏色即可.
以上這篇解決vant title-active-color與title-inactive-color不生效問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue2.0 使用element-ui里的upload組件實(shí)現(xiàn)圖片預(yù)覽效果方法
今天小編就為大家分享一篇vue2.0 使用element-ui里的upload組件實(shí)現(xiàn)圖片預(yù)覽效果方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue.js 中 axios 跨域訪問(wèn)錯(cuò)誤問(wèn)題及解決方法
這篇文章主要介紹了Vue.js 中 axios 跨域訪問(wèn)錯(cuò)誤問(wèn)題及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-11-11
淺談vue 組件中的setInterval方法和window的不同
這篇文章主要介紹了淺談vue 組件中的setInterval方法和window的不同,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
vuejs+element UI table表格中實(shí)現(xiàn)禁用部分復(fù)選框的方法
今天小編就為大家分享一篇vuejs+element UI table表格中實(shí)現(xiàn)禁用部分復(fù)選框的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
Vue3中使用fetch實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求的過(guò)程詳解
在現(xiàn)代前端開(kāi)發(fā)中,數(shù)據(jù)請(qǐng)求是一個(gè)不可或缺的環(huán)節(jié),而在Vue3中,我們有許多方法可以進(jìn)行數(shù)據(jù)請(qǐng)求,其中使用fetch方法是一個(gè)非常常見(jiàn)的選擇,本文將詳細(xì)講解如何在Vue3中使用fetch來(lái)實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求,需要的朋友可以參考下2024-09-09
vue指令?v-bind的使用和注意需要注意的點(diǎn)
這篇文章主要給大家分享了?v-bind的使用和注意需要注意的點(diǎn),下面文章圍繞?v-bind指令的相關(guān)資料展開(kāi)內(nèi)容且附上詳細(xì)代碼?需要的小伙伴可以參考一下,希望對(duì)大家有所幫助2021-11-11
Vue 通過(guò)公共字段,拼接兩個(gè)對(duì)象數(shù)組的實(shí)例
今天小編就為大家分享一篇Vue 通過(guò)公共字段,拼接兩個(gè)對(duì)象數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

