irc_web/.svn/pristine/37/37249131174e528927bd61897a4...

53 lines
1.2 KiB
Plaintext

<template>
<div>
<template v-for="(item, index) in options">
<template v-if="values.includes(item.value)">
<span
v-if="item.raw.listClass == 'default' || item.raw.listClass == ''"
:key="item.value"
:index="index"
:class="item.raw.cssClass"
>{{ item.label }}</span>
<el-tag
v-else
:key="item.value"
:disable-transitions="true"
:index="index"
:type="item.raw.listClass == 'primary' ? '' : item.raw.listClass"
:class="item.raw.cssClass"
>
{{ item.label }}
</el-tag>
</template>
</template>
</div>
</template>
<script>
export default {
name: 'DictTag',
props: {
options: {
type: Array,
default: null
},
// eslint-disable-next-line vue/require-default-prop
value: [Number, String, Array]
},
computed: {
values() {
if (this.value !== null && typeof this.value !== 'undefined') {
return Array.isArray(this.value) ? this.value : [String(this.value)]
} else {
return []
}
}
}
}
</script>
<style scoped>
.el-tag + .el-tag {
margin-left: 10px;
}
</style>