首页 > 其他分享 >若依--字典标签组件完善

若依--字典标签组件完善

时间:2023-05-08 11:33:21浏览次数:28  
标签:const -- 标签 value label 若依 props statusFilter 字典

由于若依是基于element,但是在实际业务中,往往会出现标签不够用的情况,数据标签回显样式只有一下六种:

// 数据标签回显样式
const listClassOptions = ref([
  { value: "default", label: "默认" }, 
  { value: "primary", label: "主要" }, 
  { value: "success", label: "成功" },
  { value: "info", label: "信息" },
  { value: "warning", label: "警告" },
  { value: "danger", label: "危险" }
])

我优化了一下,使得不用填写也可以有标签颜色出现:

  1. statusFilter 方法
    // 数据标签颜色
    const statusFilter = function(status) {
    const statusMap = {
    0:"",
    1:'success',
    2:'info',
    3:'warning',
    4:'danger'
    }
    return statusMap[status%5]
    }
  2. 字典标签 dictTag.js
<template>
  <div>
    <template v-for="(item, index) in options">
      <template v-if="values.includes(item.value)">
        <!-- <span
          v-if="item.elTagType == 'default' || item.elTagType == ''"
          :key="item.value"
          :index="index"
          :class="item.elTagClass"
        >{{ item.label }}</span> -->
        <!-- v-else -->
        <el-tag
          :disable-transitions="true"
          :key="item.value + ''"
          :index="index"
          :type="item.elTagType === 'primary' ? '' : (item.elTagType == '' ? statusFilter(item.elTagType) : item.elTagType)"
          :class="item.elTagClass"
        >{{ item.label }}</el-tag>
      </template>
    </template>
  </div>
</template>

<script setup>
import { statusFilter } from '@/utils/etax.js'
const props = defineProps({
  // 数据
  options: {
    type: Array,
    default: null,
  },
  // 当前的值
  value: [Number, String, Array],
})

const values = computed(() => {
  if (props.value !== null && typeof props.value !== 'undefined') {
    return Array.isArray(props.value) ? props.value : [String(props.value)];
  } else {
    return [];
  }
})

</script>

<style scoped>
.el-tag + .el-tag {
  margin-left: 10px;
}
</style>

标签:const,--,标签,value,label,若依,props,statusFilter,字典
From: https://www.cnblogs.com/kitty-blog/p/17381229.html

相关文章

  • ChatGPT官方第一手资料:这七个小技巧帮你用好ChatGPT
    文/高扬 学习技术最好的方式是什么?看官方资料。    然而,官方教材总有些晦涩难懂,所以大白话将意思做个翻译,就成为了必然。我个人建议有条件的话,先看官方指南。 其实,我个人的ChatGPT经验,也是啃了官方材料,然后经过自己的实践总结而成。 例如,针对官方提供的......
  • 攻击面管理的重要技术指标有哪些?螣龙安科受邀分享来解答
    近日,国内网络安全知名权威机构-安全牛发布了《网络安全行业全景图》(第十版)。  螣龙安科凭借先进的创新网络安全技术和高度的市场认可度,实力领跑,上榜了“攻击面管理”和“BAS”两大安全分类。  此次强势入选全景图的两大领域,不仅是业界权威机构对螣龙安科产品能力和服......
  • 计数排序就是这么容易
    文章目录前言1.计数排序(CountingSort)1.1.计数排序(CountingSort)2.原理2.1.步骤2.2.实例题目3.代码3.1.代码4.扩展阅读4.1.局限性前言声明:参考来源互联网,有任何争议可以留言。站在前人的肩上,我们才能看的更远。本教程纯手打,致力于最实用教程,不需要什么奖励,只希望多多转发支持......
  • C3P0连接池在tomcat中的详细配置
    http://qiufubin.blog.sohu.com/55457392.html 2007-07-16 | C3P0连接池在tomcat中的详细配置  一.在tomcat_home\common\lib下放入jdbc的驱动程序,额外说一下,如果是使用sqlserver的话,有至少两个驱动可以选择,一个是微软提供的,另一个是jtds,比微软的要好很多,推荐使用二.配......
  • 解决eclipse+myeclipse的Processing Dirty Regions错误
    http://www.javaeye.com/topic/192152我的Eclipse3.3.2+MyEclipse6.0.1在打开JSP文件时出现以下错误:Aninternalerroroccurredduring:"ProcessingDirtyRegions".org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelperAninternalerro......
  • 通用分页实现及其OO设计探讨
    本来是打算拿到it168投稿的!!那边的速度太慢了!先贴出来先!!分页是一种常用的页面数据显示技术,分页能够通过减少页面数据处理量从而提高了系统的性能。分页应该是做WEB开发必须掌握的一个小技术。而分页却是复杂的,倒不是它的技术有多复杂;而是有太多的重复代码,这些代码都难以重用。能不能......
  • 禅道软件设计六大原则
    第一原则,长周期原则想尽一切办法让产品的生命周期大于团队的生命周期。每个产品都有自己的生命周期,每个团队也都有自己的生命周期,这是客观规律。但我总会觉得用户和客户因为信任选择使用禅道,我们就要为用户和客户负责,这是我放不下的责任和义务。一方面我努力赚钱,让团队持续发展,为我......
  • CSS内外边距属性
    <head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>无标题文档</title></head><styletype="text/css">h1{ background-color:green; padding-top:20px; padd......
  • vue+element输入框校验输入汉字再输入数字看似正常,实则有大问题,保存时数据不对
    在vue+elementUI项目中经常会使用到输入框限制为整数或者小数的需求,一般采用如下oninput="value=value.replace(/[^0-9.]/g,'')"解决,<el-input    :placeholder="请输入整数或者小数"    v-model="inputValue"   oninput="value=value.replace(/[^0-9......
  • 使用UE做动画编辑-VRAnimEditor
    这个编辑不同于blender,和UE中的动画编辑。我的动画编辑基于VR中姿态矫正,以及补帧插值方式做处理。好处: 传统的动画编辑 需要花费大量时间,比较好的动作捕捉使用起来有局限,大厂用的AI模拟生物应该没到实用阶段,而这个使用VR矫正姿态,可以缩短时间,并且实时预览,效果好(不管是编辑还......