<template> <div> <template v-for="(item, index) in options"> <template v-if="values.includes(item.value)"> <el-tag v-if="item.raw.listClass == 'default' || item.raw.listClass == ''" type="primary" :size="size" :key="item.value" :index="index" :class="item.raw.cssClass" >{{ item.label }}</el-tag > <el-tag v-else :disable-transitions="true" :key="item.value" :index="index" :size="size" :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, }, value: [Number, String, Array,Boolean], size: String, }, 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>