vue-element-dict

vue字典组件

Usage no npm install needed!

<script type="module">
  import vueElementDict from 'https://cdn.skypack.dev/vue-element-dict';
</script>

README

vue-element-dict文档说明

前言

作为前端开发,大家肯定经常遇到一些下拉选项,如性别,男,女、编码转化为中文等。通常情况下,后端是会有个接口来获取这些编码表的值的,否则的话就得在前端项目写死,不易于维护。因此前端每次需要用到的时候就得调用接口获取该字典类型的值。开发此插件的目的就是将使用简洁化。此字典包不会同时请求相同字典,避免了重复请求问题。可放心大胆使用。如发现问题,通过微信公众号【爆米花小布】进行反馈!谢谢。

注意: 也可前往 vue-element-dict官网阅读使用说明

优点

  1. 配置说明详细,可满足绝大多数情况使用
  2. 配置数据版本号,无需清理缓存,可实现数据自动更新
  3. 多个地方同时获取相同类型数据,只会触发一个请求
  4. 配套多种element组件,方便使用
  5. 对于一些页面需要过滤掉部分选项也可进行配置
  6. 配套多种过滤器,过滤数据快捷方便,
  7. 对于找不到或者没值的情况可设置缺省值
  8. 可配置项多,灵活,方便
  9. 适用于主项目,也适用于子项目开发
  10. 解决了当想要获取的字典字段不存在时疯狂报错的问题

缺点

  1. 局限于vue项目

项目依赖

  1. element组件
  2. day.js

已有组件

el-select-dict组件

el-radio-dict组件

el-radio-button-dict组件

el-checkbox-dict组件

el-checkbox-dict组件

el-table-colmun-dict组件

el-tabs-dict组件

el-tag-dict组件 (0.0.8及以上版本)

已有过滤器

getLabelByCode(val, type, defaultVal = "") 通过code值获取label

getLabelByCodes(vals, type, defaultVal = "", formatFun) 通过codes值获取label

vals 可接受数组形式 或 字符串 英文逗号 隔开形式 “1,2,3”

formatFun = function(arr){ //默认转化 “男,女”

​return arr.map(item => {

​ return item[format.label]

​}).join(",")

}

getCodeByLabel 通过label值获取code

getCodeByLabels 通过labels值获取code

vals 可接受数组形式 或 字符串 英文逗号 隔开形式 “1,2,3”

formatFun = function(arr){ //默认转化 “男,女”

​return arr.map(item => {

​ return item[format.value]

​}).join(",")

}

dayFormat(day, format, defaultValue = "") 格式化日期 依赖于day.js 插件

date: "YYYY-MM-DD",

month: "YYYY-MM",

datetime: "YYYY-MM-DD HH:mm:ss",

time: "HH:mm:ss",

year: "YYYY"

format 可传上述自定义好的 类型,也可自行传递格式

defaultValue Invalid Date的时候 会返回 默认值

desensitization

已有方法

  1. Vue.prototype.$getLabelByCode promise 参数同上述同名过滤器
  2. Vue.prototype.$getCodeByLabel promise 参数同上述同名过滤器
  3. Vue.prototype.$getLabelByCodes promise 参数同上述同名过滤器
  4. Vue.prototype.$getCodeByLabels promise 参数同上述同名过滤器
  5. Vue.prototype.$dayFormat function 参数同上述同名过滤器
  6. Vue.prototype.$desensitization function 参数同上述同名过滤器
  7. Vue.prototype.$message function 用法同element,解决其消息提醒的不足

安装

npm install -S vue-element-dict

引入

//引入element的css 如果已引入 可不要重复引入
import "element-ui/lib/theme-chalk/index.css"
import {getGlobalConfigApi} from "@/api/module/common-api.js"
import dictSetting from "@/dict-setting.js"
const vueElementDict = require("vue-element-dict")
//获取当前版本号
getGlobalConfigApi().then(data => {
  const {verssion} = data
  Object.assign(dictSetting, {verssion})
  Vue.use(vueElementDict, dictSetting)
  new Vue({
    render: h => h(App)
  }).$mount("#app")
})

上述是正常的配置,如果一些项目只是提供页面,且每次想要一次性请求多个字典数据,您可以如下使用

//main.js
import Vue from "vue"
//引入element的css
import "element-ui/lib/theme-chalk/index.css"
import {getGlobalConfigApi} from "@/api/module/common-api.js"
import dictSetting from "@/dict-setting.js"
//获取当前版本号
getGlobalConfigApi().then(data => {
  const {verssion} = data
  Object.assign(dictSetting, {verssion})
  Vue.prototype.$dictSetting = dictSetting
  new Vue({
    render: h => h(App)
  }).$mount("#app")
})

//页面上
import Vue from "vue"
const vueElementDict = require("vue-element-dict")
export default {
    beforeCreate() {
        const setting = {
          // isGetAll: true,
          usuallyGetFileds: "UNIT_TYPE,AAC005,AAC058,AAC004" //页面上有用到的数据
          // getDictEveryTime: true
        }
        const dictSetting = Object.assign(this.$dictSetting, setting)
        Vue.use(vueElementDict, dictSetting)
    }
}

// @/assets/data/dict.js   本地写死字典数据
export default {
  gender: [
    {
      "value": "000",
      "label": "注销"
    }, {
      "value": "001",
      "label": "正常"
    }
  ]
}

//@/api/module/common-api.js

//获取字典接口 
export function getDictCodeApi(options) {
  var promise = new Promise(function(resolve) {
    const dictCodeList = {
      "AAC004": [{
        "value": "1",
        "label": "男"
      }, {
        "value": "2",
        "label": "女"
      }, {
        "value": "9",
        "label": "未说明性别"
      }],
      "STATUSHIERARCHY": [{
        "value": "5",
        "label": "Lv5认证"
      }, {
        "value": "4",
        "label": "Lv4认证"
      }, {
        "value": "3",
        "label": "Lv3认证"
      }],
      "AAC058": [{
        "value": "01",
        "label": "居民身份证(户口簿)"
      }, {
        "value": "02",
        "label": "中国人民解放军军官证"
      }, {
        "value": "03",
        "label": "中国人民武装警察警官证"
      }],
      "AAC005": [{
        "value": "01",
        "label": "汉族"
      }, {
        "value": "02",
        "label": "蒙古族"
      }, {
        "value": "20",
        "label": "傈傈族"
      }],
      "LEGAL_STATUS": [{
        "value": "000",
        "label": "锁定"
      }, {
        "value": "001",
        "label": "正常"
      }],
      "LEGAL_PERSON_TYPE": [{
        "value": "004",
        "label": "个体工商户"
      }, {
        "value": "003",
        "label": "机关事业单位法人"
      }, {
        "value": "002",
        "label": "社团法人"
      }, {
        "value": "001",
        "label": "企业法人"
      }],
      "UNIT_TYPE": [{
        "value": "3",
        "label": "地税编号"
      }, {
        "value": "2",
        "label": "统一信用代码"
      }, {
        "value": "1",
        "label": "组织机构代码"
      }],
      "MCC_TYPE": [{
        "value": "1",
        "label": "农,林,牧,渔业"
      }, {
        "value": "10",
        "label": "金融业"
      }, {
        "value": "11",
        "label": "房地产业"
      }],
      "UNIT_STATUS": [{
        "value": "000",
        "label": "注销"
      }, {
        "value": "001",
        "label": "正常"
      }]
    }

    let codeData = {}

    if (options&&options.type) {
      const typeList = options.type.split(",")
      for (let i = 0; i < typeList.length; i++) {
        const type = typeList[i]
        codeData[type] = dictCodeList[type]
      }
    } else {
      codeData = dictCodeList
    }
    const data = {
      "code": 0,
      "data": {
        dictCodeList: codeData,
        verssion: "0.0.1"
      },
      message: "成功",
      timestamp: "1594565635",
      type: "info"
    }
    setTimeout(() => { resolve(data) }, 1000)
  })
  return promise
}

//获取全局配置  包含版本号
export function getGlobalConfigApi() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve({verssion: "0.0.1"})
    }, 1000)
  })
}

// @/dict-setting.js
import {getDictCodeApi} from "@/api/module/common-api.js"
import localDictCodes from "@/assets/data/dict.js"
export default {
    getDictCodeApi, //必传 获取字典数据接口
    // verssion: "0.0.1" //版本号 必传   版本号通过接口获取 不在此处配置
    localDictCodes, //选填 项目写死的字典数据
    ...  //剩余字段非必填,详看下列文档
}


dictSetting配置项说明

字段 类型 说明 默认值
getDictCodeApi promise 必传,获取字典数据接口
verssion String 必传 ,最新字典数据的版本号
query String 获取字典数据接口传参的 key字段名 type
usuallyGetFileds String 字符串,多个的话,英文逗号隔开,经常需要用到的字段,子项目非常适用此字段配置 ""
verssionKey String 存入浏览器缓存的当前版本号key字段名 currentVerssion
dictDataKey String 存入浏览器缓存的字典数据key字段名 dictCodeList
format Object 接口返回的数据的value和label字段名,value和label的 key不能改 {value: "value", label: "label"}
formatterRequest function 对入参进行数据格式转化,将我们规定的格式,转化为后端人员接口期望传的参数 默认格式 (query, data)=> {if(!data) {return {[query]:""}return [query]:""}}
formatterDictList function 处理接口返回的数据,将返回数据处理成包期望的字典数据 data为接口返回的数据 (data)=> {return data.data.dictCodeList}
formatterDictVerssion function 处理接口返回的数据,返回包期望的版本号 data为接口返回的数据 (data)=> {return data.data.verssion}
storage window的对象 localStorage/ sessionStorage 浏览器缓存位置的配置 localStorage
isGetAll Boolean 是否获取全部字典值 false
localDictCodes Object 本地项目写死的字典数据 {}
getDictEveryTime Boolean 是否每次进入页面都加载请求字典 false

接口返回数据示例值

{
      "code": 0,
      "data": {
        dictCodeList: {
          "AAC004": [{
            "value": "1",
            "label": "男"
          }, {
            "value": "2",
            "label": "女"
          }, {
            "value": "9",
            "label": "未说明性别"
          }]
        },
        verssion: "0.0.1"
      },
      message: "成功",
      timestamp: "1594565635",
      type: "info"
}

如果后端返回接口数据与上述返回示例不一致,无需祈求后端更改接口返回数据,可通过配置,将接口数据转化到可以用,详细咨询 微信公众号【爆米花小布】喜欢作者点个关注

接口要求

  1. 返回数据格式尽可能按上述格式返回。
  2. {type: ""} type为空返回全部字典值
  3. 传参格式 {type: "AAC004"} 默认type 如接口为非type 可通过 query配置
  4. 获取多个字典 请求参数 {type: "AAC004,AAC005"} 英文逗号隔开
  5. 后端在后台管理系统修改字典数据时需要更改当前字典数据版本号
  6. 后端需提供一个获取当前字典数据版本号接口,可在获取全局配置接口上添加

备注:1、如果接口请求参数与包期望的不一致,可通过formatterRequest配置接收两个参数 query,data

2、如果后端不搞版本号,可将版本号写死,且通过formatterDictVerssion函数返回写死版本号

3、如果接口返回的数据格式与期望不一致,可通过formatterDictList返回期望的数据

4、format可配置label和value对应字段值

el-select-dict使用API

字段名 类型 备注
dictType [String, Object] 必传,传递字典的字段名,选择想要的字典数据
disableObj(0.0.7及以上版本) Object 选填,传递字典禁用选项配置
keyValue Boolean 选填,默认false false只返回值,true返回value及label

接收el-select 所有饿了么原生参数配置及方法,由于组件使用到change方法,外部如需监听change事件,可用

@dictChange 监听 如果在此组件使用@change监听,也可行 但是会执行两次,因此不建议。

dictType对象类型时配置参数

{
    type: 字典类型,
    filters: 过滤数据(数组,或者字符串用英文逗号隔开),
    filterType: 过滤的字段(通过这个字段筛选数据), 默认字典配置的 value
    reverse: 是否反向筛选  默认false
}

disableObj对象类型时配置参数(0.0.7及以上版本)

{
    disableValue: 禁用数据(数组,或者字符串用英文逗号隔开),
    disableType: 过滤的字段(通过这个字段筛选数据), 默认字典配置的 value
    reverse: 是否反向筛选  默认false
}

el-select-dict组件使用示例

<el-select-dict clearable v-model="select3" dictType="AAC058"></el-select-dict>
<el-select-dict clearable v-model="select1" :dictType="{type: 'LEGAL_PERSON_TYPE', filters: '004'}" :keyValue="true"></el-select-dict>
<el-select-dict filterable  :disableObj="{disableValue: ['16']}" :keyValue="false" @dictChange="change" :multiple="false" clearable v-model="select1" :dictType="{type: 'AAC058', filters: ['02','03','04','05','06','07','09','10','11','12','13'],reverse: true }"></el-select-dict>

【注意】el-radio-dict,el-radio-button-dict,el-checkbox-dict,el-checkbox-button-dict使用方法同上

el-tabs-dict使用API

字段名 类型 备注
dictType [String, Object] 必传,传递字典的字段名,选择想要的字典数据
keyValue(0.0.6及以上版本) Boolean 选填,默认false false只返回值,true返回value及label

接收el-tabs所有饿了么原生参数配置及方法,由于组件使用到change方法,外部如需监听change事件,可用**@dictChange** 监听 如果在此组件使用@change监听,也可行 但是会执行两次,因此不建议。

dictType对象类型时配置参数

{
    type: 字典类型,
    filters: 过滤数据(数组),
    filterType: 过滤的字段(通过这个字段筛选数据), 默认字典配置的 value
    reverse: 是否反向筛选  默认false
}

el-tabs-dict组件使用示例

<el-tabs-dict @dictChange="change" :keyValue="true" v-model="select1" dictType="UNIT_TYPE" ></el-tabs-dict>
<el-tabs-dict @dictChange="change" :keyValue="false" v-model="select1" :dictType="{type: 'UNIT_TYPE', filters: '001',reverse: true }" ></el-tabs-dict>

el-tag-dict使用API

字段名 类型 备注
dictType String 必传,字典类型
value String 必传,数据值
judgeTypeFun Function 选传,不传则获取type配置,
type String 选传,默认 primary judgeTypeFun优先级更高

el-table-colmun-dict组件API

字段名 类型 备注
dictType String 如果传值会从字典数据获取,如果值为多个则返回 英文逗号隔开的字符串 可通过formatFun配置返回格式,当无数据是可通过defaultValue配置缺省值
spacer String 默认 "," 返回多个字典数据时,配置返回数据中间间隔符
formatFun Function 配置返回数据如何处理
defaultValue String 默认“” 当找不到值时 展示
dateFormat String 日期格式化,可传入 date, month,datetime,time, year 也可以自定义格式,日期时间不对时显示defaultValue
desensitization String,Number 脱敏已有类型 mobile,name,address,idCard。如果数据没值将展示defaultValue。 如果传入数字,则此字段将作为显示前几个的标识且必须传入desensitizationEnd
desensitizationEnd Number 显示后几个
desensitizationPlaceholder Number 中间占位符个数,不配置则根据实际被隐藏个数展示

各个过滤器使用说明

//日期格式化
//day  日期数值
//format  可选值  date, month,datetime,time, year   也可传自定义日期格式
//defaultValue   默认值(缺省值)
const dayFormat = (day, format, defaultValue = "")
//通过code获取label
//val  数据值
//type 字典类型
//defaultVal 缺省值
const getLabelByCode = (val, type, defaultVal = "")
//通过codes获取label
//val  数据值
//type 字典类型
//defaultVal 缺省值
//formatFun 转化格式 默认如下    如需自行配置,format.label最后从全局配置获取 避免写死
//spacer 默认 ","
formatFun = function(arr){
    return arr.map(item => {
        return item[format.label]
    }).join(",")
}
const getLabelByCodes = (vals, type, defaultVal = "", formatFun, spacer = ",")
//通过label获取code
//val  数据值
//type 字典类型
//defaultVal 缺省值
const getCodeByLabel = (val, type, defaultVal = "")
//通过labels获取code
//val  数据值
//type 字典类型
//defaultVal 缺省值
//formatFun 转化格式 默认如下    如需自行配置,format.label最后从全局配置获取 避免写死
const getCodeByLabels = (vals, type, defaultVal = "", formatFun, spacer = ",")
//通过字典类型获取该字典类型数据
//types  数组形式 或者  字符串英文逗号隔开  
// 返回字典数据值    如 {AAC004: [{},{}], AAC058: [{},{}]}
const getDictObjByDictTypes = (types)
//脱敏
//val  数据值
//type 脱敏类型  mobile,name,address,idCard  如果传数字则表示 展示前面几位数
//defaultVal 缺省值
//desensitizationEnd 显示后面几位
//desensitizationPlaceholder 中间多少个占位符,没传则根据实际长度展示长度
const desensitization = (val, type, defaultVal, desensitizationEnd, desensitizationPlaceholder)

上述过滤方法均可使用 this.$过滤器名 调用该方法, 其中字典相关的方法为 promise 格式

  this.$getLabelByCode("000", "UNIT_STATUS", "啊哈哈哈").then(data => {
    console.log(data)
  })

  this.$getCodeByLabel("注销", "UNIT_STATUS", "啊哈哈哈").then(data => {
    console.log(data)
  })

  this.$getLabelByCodes("000,001", "UNIT_STATUS", "啊哈哈哈").then(data => {
    console.log(data)
  })

  this.$getCodeByLabels("注销,正常", "UNIT_STATUS", "啊哈哈哈").then(data => {
    console.log(data)
  })

  //获取字典数据方法
  this.$getDictObjByDictTypes(["PERSON_TYPE"]).then(data => {
    console.log(data)
  })

组件赋值须知

el-select-dict 组件如果 keyValue为true时 赋值需要赋值 label 和 value 对象。 如果还是多选 则 [{label: XXX, value: XXX},{label: XXX, value: XXX}]

其余组件赋值均无需赋值 对象 多选组件赋值 数组形式

文档过长,难免有写错的地方,敬请见谅。喜欢作者请关注微信公众号 【爆米花小布】 了解更多前端经验

cascader使用方法**

属性配置

组件接收element所有属性,props与options属性分别替换为 settings 和 data属性

参数 说明 类型 默认值
settings 属性设置 Object 看后面具体参数配置
data 联级选项数据 Array 一些选项示例
maxLevel 限制到哪一层级(数据需要又层级标志 String “”
delValue 需要去除的部分选项,子级会一同去除 String 或者 Array “”
delChildren 是否需要去除空 children Boolean false
showLength 是否展示子级数据量 Boolean false

settings属性配置表

参数 说明 类型 默认值
level 限制层级的字段名 String level
value 指定选项的值为选项对象的某个属性值 String value
label 指定选项的值为选项对象的某个属性值 String label
children 指定选项的值为选项对象的某个属性值 String children
leaf 指定选项的叶子节点的标志位为选项对象的某个属性值 String leaf
expandTrigger 次级菜单的展开方式,可选值 "hover" 与 ”click“ String hover
multiple 是否多选 Boolean false
checkStrictly 是否严格的遵守父子节点不互相关联 Boolean true
emitPath 在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false,则只返回该节点的值 Boolean false
lazy 是否动态加载子节点,需与 lazyLoad 方法结合使用 Boolean false
disabled 指定选项的禁用为选项对象的某个属性值 String disabled

新增方法

方法名 作用 说明
getCascader 返回el-cascader组件实例 使用此方法后可调用el-cascader组件的方法
getDataList 返回树形数据的数组 使用此方法可返回所有树形数据列表
getDataMap 返回数据map对象 value: data

兼容ie样式问题

.el-cascader__tags .el-tag>span {
  flex: auto;
}
.el-cascader-menu__wrap{
  height: 300px;
}
.el-cascader-node__label{
  flex: none;
}
.el-cascader-node__postfix, .el-cascader-node__prefix {
  top: 50%;
  transform: translateY(-50%);
  line-height: 4px;
}

基于el-tree的el-tree-new组件使用说明书

使用

组件引入部分 略

页面上使用(需要设置node-key属性

<template>
    <el-tree-new ref="tree" show-checkbox node-key="menuId" :settings="defaultProps"  default-expand-all class="tree-warp" :data="menuList"></el-tree-new>
</template>

<script>
export default {
    data() {
        return {
            menuList: [],
            defaultProps: {
                children: "children",
                label: "title"
            },
        }
    }
}
</script>

接受el-tree所有参数及事件

调用el-tree的方法

调用el-tree的方法使用规则如下

this.$refs.tree.getTree().setCheckedKeys([])

先使用 getTree() 方法 获取 el-tree的实例,然后再调用el-tree拥有的方法

新增方法

方法名 使用方式 作用说明
expandAll this.$refs.tree.expandAll() 展开所有选项
foldAll this.$refs.tree.foldAll() 折叠所有选项
expandAllFirstLevel this.$refs.tree.expandAllFirstLevel() 展开所有一级树
foldAllFirstLevel this.$refs.tree.foldAllFirstLevel() 折叠所有一级树
judgeExpandAll this.$refs.tree.judgeExpandAll() 判断是否展开全部
是的话 返回 true,否则返回false
judgeFoldAll this.$refs.tree.judgeFoldAll() 判断是否折叠全部
是的话 返回 true,否则返回false
judgeExpandAllFirstLevel this.$refs.tree.judgeExpandAllFirstLevel() 判断是否展开全部一级树
是的话 返回 true,否则返回false
judgeFoldAllFirstLevel this.$refs.tree.judgeFoldAllFirstLevel() 判断是否折叠全部一级树
是的话 返回 true,否则返回false
selectAll this.$refs.tree.selectAll() 复选框模式下全选
unSelectAll this.$refs.tree.unSelectAll() 复选框模式下全不选
toggleSelectAll this.$refs.tree.toggleSelectAll() 复选框模式下反选
judgeSelectAll this.$refs.tree.judgeSelectAll() 判断是否全选
是的话 返回 true,否则返回false
judgeUnSelectAll this.$refs.tree.judgeUnSelectAll() 判断是否全不选
是的话 返回 true,否则返回false

注意: judgeExpandAll,judgeFoldAll,judgeExpandAllFirstLevel,judgeFoldAllFirstLevel,judgeSelectAll,judgeUnSelectAll

这四个方法 一般配合 expandChange 事件使用,需再添加定时器 ,否则有bug,如

<el-tree-new ref="tree" show-checkbox node-key="id" @expandChange="expandChange" @check-change="checkChange" />
    expandChange(){
      setTimeout(() => {
        if (this.isExpand) {
          const isFoldAllFirstLevel = this.$refs.tree.judgeFoldAllFirstLevel() //是否折叠所有一级树
          if (isFoldAllFirstLevel) {
            this.isExpand = false
          }
        } else {
          const isExpandAllFirstLevel = this.$refs.tree.judgeExpandAllFirstLevel() //是否展开所有一级树
          if (isExpandAllFirstLevel) {
            this.isExpand = true
          }
        }
      }, 100)
    },

新增属性

参数 说明 类型 默认值
data 树的数据 Array 树数据的示例,太长在这不写
settings 设置 Object {level: "level",children: "children",label: "label"}
maxLevel 限制最大层级
“1” 表示 最大层级为2层
“2” 表示 最大层级为 3层 ...
默认值为"",不限制层级
String ""

新增事件

事件名称 事件说明 备注
expandChange 折叠或展开时触发,无返回值 折叠状态改变 可能比 上面的 判断方法执行的慢,导致判断不准确,因此需要再上述判断方法添加 延时

解决bug

  1. 解决了点击非复选框时无法选中的问题

更新日志

1.0.9

  1. 【兼容】可配置低版本element依赖包,防止升级问题

1.0.8

  1. 【修复】修复树形方法错误问题
  2. 【优化】修复树形组件默认禁用字段错误问题

1.0.7

  1. 【修复】修复浏览器无缓存时,字典包报错问题
  2. 【优化】优化当无配置字典类型时,不请求字典数据

1.0.6

  1. 【优化】解决浏览器缓存有本地字典数据时,更新本地字典数据,无法替换浏览器缓存的bug
  2. 【优化】解决getTreeLabelByCode方法报错问题

1.0.5

  1. 【功能】新增debounce防抖方法
  2. 【功能】新增throttle节流方法
  3. 【优化】当请求字典类型数据为null,或者空数组时,抛出异常

1.0.4

  1. 【功能】新增el-tree-new组件
  2. 【功能】新增el-tree-dict组件
  3. 【功能】el-table-colmun组件新增配置树形字典数据
  4. 【功能】新增getTreeLabelByCode过滤器
  5. 【功能】新增getTreeLabelByCodes过滤器
  6. 【功能】新增getTreeCodeByLabel过滤器
  7. 【功能】新增getTreeIdByLabels过滤器
  8. 【功能】新增getTreeLabelByCode方法
  9. 【功能】新增getTreeLabelByCodes方法
  10. 【功能】新增getTreeCodeByLabel方法
  11. 【功能】新增getTreeIdByLabels方法
  12. 【功能】新增request方法,接收这个方法并做好相关配置可以防止接口重复请求

1.0.3

  1. 【功能】新增el-cascader-new组件
  2. 【功能】新增el-cascader-dict组件
  3. 【功能】新增数组转树形数据方法
  4. 【配置】新增配置,配置数组转树形数据配置
  5. 【优化】配置usuallyGetFileds 的时候 过滤掉缓存已经有的字典数据值 只请求没有的 当缓存中都有时 不请求

1.0.2

  1. 【修复】兼容ie浏览器

1.0.1

  1. 【修复】修复字典方法按需引入时不可用的bug
  2. 【修复】修复getLabelByCodes和getCodeByLabels两个过滤器,当部分值找不到字典值时展示默认值

1.0.0

  1. 【升级】el-table-colmun-dict组件新增spacer配置

0.0.9

  1. 【功能】el-tabs-dict新增禁用配置

0.0.8

  1. 【功能】新增el-tag-dict组件
  2. 【功能】新增$message方法

0.0.7

  1. 【功能】各个组件新增禁用项配置

0.0.6

  1. 【优化】优化各个组件赋值问题

0.0.5

  1. 【优化】如果查不到该类型字典数据,控制台报错
  2. 【优化】解决字典相关this.$过滤器方法,异步时存在的问题
  3. 【优化】解决字典数据更新时,字典数据未更新问题

0.0.4

  1. 【功能】将过滤器的方法暴露出来,可以使用this.$过滤器名调用过滤器方法

0.0.3

  1. 【功能】新增el-radio-button-dict组件
  2. 【功能】新增el-checkbox-button-dict组件
  3. 【功能】新增el-tabs-dict组件
  4. 【功能】新增getCodeByLabel过滤器
  5. 【功能】新增getCodeByLablels过滤器
  6. 【优化】日期格式化过滤器新增默认值配置
  7. 【优化】脱敏过滤器新增默认值配置
  8. 【优化】el-table-column-dict组件 新增配置默认值,脱敏三个配置参数,字典过滤器的格式化参数
  9. 【优化】解决接口获取不到该字典数据类型时疯狂重复请求的问题,限制到只能获取一次

0.0.2

  1. 【功能】新增el-radio-dict组件
  2. 【功能】新增el-checkbox-dict组件
  3. 【功能】新增el-table-column-dict组件
  4. 【功能】新增 getLabelByCodes 过滤器
  5. 【优化】优化会重复请求相同字典的问题
  6. 【优化】字典过滤器新增添加默认值

0.0.1

  1. 【功能】el-select-dict组件
  2. 【功能】getLabelByCode过滤器