给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>
期望下拉框选择值后, 文本框字体变颜色选择已完成字体为#5ad8a6,未完成 字体为#e86452
选择后是 两个箭头 那里变 红框里是改变字体颜色,其他改变不了
大佬们这个 要怎么 设置呢
回答:
不是知道你的 <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