tian-yan-yan
Version:
一套不算好用的组件
57 lines (47 loc) • 1.37 kB
JavaScript
/*
* 字典数据
* @author 张文
* @date 2022-02-10
* */
export const Dict = {
/**
* 设置字典数据
* @author 张文
* @param {Object|Array} data 需要设置的数据
* @param {String} key 需要设置字典的某一项,为空时将修改全部数据
* */
set(data, key = null) {
if (key) {
window.tyWindowGlobalData.set('dict.'+key, data)
} else {
window.tyWindowGlobalData.set('dict', data)
}
},
/**
* 根据字典key获取数据
* @author 张文
* @param {String} key 字典类型名称,为空时返回全部数据
* @return {*} 字典项的数据
*/
get(key = null) {
return key ? window.tyWindowGlobalData.get('dict.'+key) : window.tyWindowGlobalData.get('dict')
},
/**
* 根据字典项的值获取对应项的名称
* @author 张文
* @param key 字典类型名称
* @param value 字典项的值
* @param def 无法获取值的缺省显示值
* @returns {String} 字典项的名称,如果未找到且默认值为空,则返回字典项的值
*/
getDictLabel(key, value, def) {
const list = this.get(key)
if (Array.isArray(list)) {
const item = list.find(i => i.value === value)
if (item && item.label) {
return item.label
}
}
return def || value
},
}