Elementui中el-table 的formatterformatter格式化字典显示

Elementui中el-table 的formatterformatter格式化字典显示

1.问题描述:

进行修改功能时,弹出弹框,如果不修改下拉框的数据字典,直接点击确定,发现这行数据不见了。

2.原因:

修改查询时,根据表联查返回的是name而不是id,但是表里存的字段却是id,然后主界面查询时就不会查到本条数据。

3.解决办法:

表联查时,要返回id,不要返回name,如果要使得界面显示的name,就用formatterformatter格式化字典显示。

4.实现

1.给table添加 :formatter

<el-table-column
          prop="modelId"
          label="资源型号"
          :formatter="modelFormatter">
</el-table-column>

2.声明数组

export default {
  data() {
    return {
      modelName: "", //型号名称
	  state: {},
      sfyResourceArr: [], //资源型号 (数据字典)
      }
     }
   }

3.显示格式化方法

//型号显示格式化
    modelFormatter(row, column) {
      var modelName = "";
      this.sfyResourceArr.map((mod) => {
        if (row.modelId == mod.value) {
          modelName = mod.label;
          console.log("他出现了!!!!!!");
        } else {
          console.log("啊偶啊欧啊偶啊欧" + row.modelId);
        }
      });
      return modelName;
    },

4.数据字典的查询

//资源型号
    LOOKUPS_RESOURCE(state) {
      var _this = this;
      _this.axios["system-manager"]
        .post("/api/basic/lookup/lookupsEnable", {
          types: "sfy_zyxh",
        })
        .then(function (res) {
          state.folkOptions = res[0] ? res[0].children : [];
         
          _this.sfyResourceArr = state.folkOptions.map((mod) => {
            return {
              value: `${mod.attributes.code}`,
              label: `${mod.text}`,
            };
          });
        })
        .catch(function (err) {
          console.log("出错了");
        });
    },
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值