美文网首页
字典值映射后展示

字典值映射后展示

作者: 乐宝呗 | 来源:发表于2023-03-22 16:43 被阅读0次

    1、创建枚举字段的管理者对象

    // 创建枚举字段的管理者对象
    export const = getEnumManager (name, enums)=> {
      const labels = enums.map((item) => item.label);
      const values = enums.map((item) => item.value);
      return {
        name,
        labels,
        values,
        enums,
        getValueByLabel (label) {
          return values[labels.indexOf(label)];
        },
        getLabelByValue (value: any) {
          return labels[values.indexOf(value)];
        },
        getItemByValueOrLabel (number ) {
          let index = values.indexOf(number);
          if (index < 0) {
            index = labels.indexOf(number);
          }
          return enums[index];
        },
      }
    }
    //  使用
    import { getEnumManager } from '@/utils/enums.js';
    const orderStatusEnum = getEnumManager('orderStatus', [
      { value: 0, label: '已完成', color: green,
        operation: ['checkDetail', 'download'] },
      { value: 1, label: '待支付', color: orange,
        operation: ['pay', 'cancel'] },
      { value: 2, label: '已取消', color: gray,
        operation: ['checkDetail'] }
    ]);
    ...
    const tabelData = res.data.map(item => {
      // 将字典值映射为label
      return Object.assign({}, item, {
        label: orderStatusEnum.getLabelByValue(item.orderSataus)
      })
    })
    
    

    链接:https://juejin.cn/post/7193526127573336123

    相关文章

      网友评论

          本文标题:字典值映射后展示

          本文链接:https://www.haomeiwen.com/subject/elcbrdtx.html