feat: dict support cssClass
parent
9283d58ce9
commit
d2e4a26c84
|
@ -1,9 +1,10 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
|
|
||||||
|
import { isValidColor, TinyColor } from '@vben/utils';
|
||||||
|
|
||||||
import { Tag } from 'ant-design-vue';
|
import { Tag } from 'ant-design-vue';
|
||||||
|
|
||||||
// import { isHexColor } from '@/utils/color' // TODO @芋艿:【可优化】增加 cssClass 的处理 https://gitee.com/yudaocode/yudao-ui-admin-vben/blob/v2.4.1/src/components/DictTag/src/DictTag.vue#L60
|
|
||||||
import { getDictObj } from '#/utils';
|
import { getDictObj } from '#/utils';
|
||||||
|
|
||||||
interface DictTagProps {
|
interface DictTagProps {
|
||||||
|
@ -23,11 +24,6 @@ interface DictTagProps {
|
||||||
|
|
||||||
const props = defineProps<DictTagProps>();
|
const props = defineProps<DictTagProps>();
|
||||||
|
|
||||||
function isHexColor(color: string) {
|
|
||||||
const reg = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
||||||
return reg.test(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 获取字典标签 */
|
/** 获取字典标签 */
|
||||||
const dictTag = computed(() => {
|
const dictTag = computed(() => {
|
||||||
// 校验参数有效性
|
// 校验参数有效性
|
||||||
|
@ -63,6 +59,10 @@ const dictTag = computed(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isValidColor(dict.cssClass)) {
|
||||||
|
colorType = new TinyColor(dict.cssClass).toHexString();
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
label: dict.label || '',
|
label: dict.label || '',
|
||||||
colorType,
|
colorType,
|
||||||
|
@ -74,13 +74,7 @@ const dictTag = computed(() => {
|
||||||
<template>
|
<template>
|
||||||
<Tag
|
<Tag
|
||||||
v-if="dictTag"
|
v-if="dictTag"
|
||||||
:color="
|
:color="dictTag.colorType ? dictTag.colorType : dictTag.cssClass"
|
||||||
dictTag.colorType
|
|
||||||
? dictTag.colorType
|
|
||||||
: dictTag.cssClass && isHexColor(dictTag.cssClass)
|
|
||||||
? dictTag.cssClass
|
|
||||||
: ''
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
{{ dictTag.label }}
|
{{ dictTag.label }}
|
||||||
</Tag>
|
</Tag>
|
||||||
|
|
Loading…
Reference in New Issue