# el-tabs-dict组件

支持el-tabs所有配置项。

TIP

如果需要监听change事件,可使用dictChange代替.如果需要更高级的用法请阅读el-tabs文档 (opens new window)

dictType 传递字符串类型,同时此组件可以接收el-select所有属性及事件,change事件建议采用dictChange代替。

<template>
    <div class="el-tabs-dict" ref="container">
    <div class="title">基础用法</div>
    <el-tabs-dict @dictChange="handdleChange" clearable v-model="value1" dictType="PERSON_TYPE"></el-tabs-dict>
    
    <div class="title">过滤数据</div>
    <el-tabs-dict @dictChange="handdleChange" :badgeObj="badgeObj" clearable v-model="value2" :dictType="{type: 'PERSON_TYPE', filters: '001,002'}"></el-tabs-dict>
    <el-tabs-dict @dictChange="handdleChange"  clearable v-model="value3" :filterDataFun="filterDataFun" dictType="PERSON_TYPE"></el-tabs-dict>
    
    <div class="title">禁用数据</div>
    <el-tabs-dict @dictChange="handdleChange" :badgeObj="badgeObj" dictType="PERSON_TYPE" clearable v-model="value4" :disableObj="{disableValue: '001,002'}"></el-tabs-dict>
    <el-tabs-dict @dictChange="handdleChange" dictType="PERSON_TYPE" :disabledDataFun="disabledDataFun" clearable v-model="value5"></el-tabs-dict>
   
    <div class="title">配置keyValue及赋值</div>
    <el-tabs-dict @dictChange="handdleChange" clearable v-model="value6" dictType="PERSON_TYPE"></el-tabs-dict>
    <el-tabs-dict @dictChange="handdleChange" :keyValue="true" clearable v-model="value7" dictType="PERSON_TYPE"></el-tabs-dict>

    <div class="title">配置角标</div>
    <el-tabs-dict @dictChange="handdleChange" :badgeObj="badgeObj" clearable v-model="value7" dictType="PERSON_TYPE"></el-tabs-dict>
  </div>
</template>

<script>
export default {
  name: "el-tabs-dict-index",
  data() {
    return {
      value1: "",
      value2: "",
      value3: "",
      value4: "",
      value5: "",
      value6: "001",
      value7: "001",
      badgeObj: {
        "001": {
          isDot: false,
          value: 12,
          type: "info",
          max: 9
        },
        "002": {
          isDot: false,
          value: "new"
        },
        "003": {
          isDot: true,
          value: ""
        },
        "004": {
          isDot: false,
          value: "hot",
          hidden: true
        }
      }
    }
  },
  methods: {
    handdleChange(val) {
      console.log(val)
    },
    //过滤数据
    filterDataFun(list) {
      return list.filter(item => {
        return item.value === "001" || item.value === "002"
      })
    },
    //禁用数据
    disabledDataFun(list) {
      return list.map(item => {
        return {
          ...item,
          disabled: !!(item.value === "001" || item.value === "002")
        }
      })
    }
  }
}
</script>

<style lang="less" scoped>
.el-tabs-dict{

}
</style>
显示代码

# Tabs Dict Attributes

参数 说明 类型 可选值 默认值
dictType 必传,传递字典的字段名,选择想要的字典数据Object类型时详看如下配置dictType配置项 [String, Object]
disableObj(0.0.7及以上版本) 选填,配置disableObj配置项 Object false
keyValue 选填,默认false false时dictChange事件只返回值,true返回value及label Boolean false
filterDataFun 组件过滤数据方法函数 接收该字典类型的数据 默认不变 能够覆盖字典包配置里的filterDataFun Function (list) => { return list }
disabledDataFun 组件禁用数据方法函数 接收该字典类型的数据 默认不变 能够覆盖字典包配置里的disabledDataFun Function (list) => { return list }
badgeObj 角标对象配置badgeObj配置项 Object {}

# Tabs Dict Events

参数 说明 回调参数
dictChange 选中值发生变化时触发 keyValue为false时返回值,为true时返回键值对象

# dictType配置项

参数 说明 类型 可选值 默认值
type 必传,字典类型 String
filters 必传,过滤数据(数组,或者字符串用英文逗号隔开)将选项过滤部分数据,使其不展示 [String,Array]
filterType 过滤的字段(通过这个字段筛选数据), 默认字典配置的 dict-setting中format的value配置项 String 默认字典配置的 dict-setting中format的value配置项
reverse 是否反向筛选 Boolean true false

# disableObj配置项

参数 说明 类型 可选值 默认值
disableValue 禁用数据(数组,或者字符串用英文逗号隔开) [String,Array]
disableType 过滤的字段(通过这个字段筛选数据), 默认字典配置的 dict-setting中format的value配置项 String 默认字典配置的 dict-setting中format的value配置项
reverse 是否反向筛选 Boolean true false

# badgeObj配置项

参数 说明 类型 可选值 默认值
isDot 小圆点 boolean false
value 显示值 string, number
type 类型 string primary / success / warning / danger / info
max 最大值,超过最大值会显示 '{max}+',要求 value 是 Number 类型 number
hidden 隐藏 badge boolean false
上次更新: 6/29/2022, 3:35:56 PM