给lab-default-select设置动态字体颜色?

代码结构如下:

<lab-default-select transfer v-model="id" v-else-if="isRadio"

:filterable="!isDisabled"

:disabled="isDisabled || formulaDisabled"

class="o-empty-icon" clearable @on-open-change="onOpenChange">

<div class="notFound" v-if="linkageData && linkageData.length === 0">无匹配数据</div>

<template v-else>

<Option v-for="(option, $index) in behavior ? sortLinkageData : vals"

:value="option.oldValId || option.oldId || option.id || option.val || ($index + 1)"

v-if="option.opt !== 'delete'"

:key="(option.id + option.val) || ($index + option.val)"

class="select-dropdown-flex">

<span :title="option.val">{{option.val}}</span>

</Option>

</template>

</lab-default-select>

给lab-default-select设置动态字体颜色?
期望下拉框选择值后, 文本框字体变颜色选择已完成字体为#5ad8a6,未完成 字体为#e86452

给lab-default-select设置动态字体颜色?
选择后是 两个箭头 那里变 红框里是改变字体颜色,其他改变不了

大佬们这个 要怎么 设置呢


回答:

不是知道你的 <lab-default-select> 是否以某一个组件库的组件,所以按照自定义组件的方式来解答了。

一般来说,可以使用 css 的 属性选择器 来实现,比如说:

.select-dropdown-flex span[title="已完成"] {

color: #e86452

}

.select-dropdown-flex span[title="未完成"] {

color: #5ad8a6

}

不过如果说这个 option 项是固定的字典值话,我的建议是定义在 option 的属性中。
比如说:

const sortLinkageData = [

{ value: 'complete', title: '已完成', color: '#e86452', ... },

{ value: 'uncompleted', title: '未完成', color: '#5ad8a6', ... },

...

]

然后在模板中,直接绑定一个 style 属性,输出在行内样式中:

<Option 

v-for="(option, $index) in behavior ? sortLinkageData : vals"

v-if="option.opt !== 'delete'"

:key="(option.id + option.val) || ($index + option.val)"

:value="option.oldValId || option.oldId || option.id || option.val || ($index + 1)"

:style="{color: option.color}"

class="select-dropdown-flex"

>

<span :title="option.val">{{option.val}}</span>

</Option>


回答:

option裏面判斷id,如果這個option的值等於lab-default-select綁定的id,那就設置它的顔色為選中的顔色。

以上是 给lab-default-select设置动态字体颜色? 的全部内容, 来源链接: utcz.com/p/934506.html

回到顶部