【关联字段如何在字典中生成】修改车间功能页面中,显示关联的公司(company)字段

之前做的添加页面,关联公司字段显示的功能
在这里插入图片描述
但是我发现修改车间页面这个字段,显示的companyId的值。

在这里插入图片描述
更令我惊讶的,当我在页面初始化的时候,先点击新增按钮,然后再点击修改按钮,那么修改页面中的隶属公司,就会显示公司的全称,如下:

在这里插入图片描述
这是怎么一回事呢,首先看代码:

先看 修改按钮 对应的方法

/** 修改按钮操作 */
    handleUpdate(row) {
    
    
      this.reset();
      const workshopId = row.workshopId || this.ids
      getWorkshop(workshopId).then(response => {
    
    
        this.form = response.data;
        this.open = true;
        this.title = "修改车间";
      });
    },

它并没有初始化companyOptions ,因此会显示response.data,而data里放的是companyId

再看 添加按钮 对应的方法

/** 新增按钮操作 */
    handleAdd() {
    
    
      this.reset();
      getWorkshop().then(response => {
    
    
        this.companyOptions = response.companyOptions;
        this.open = true;
        this.title = "添加车间";
      });
    },

添加按钮,初始化了companyOptions ,里面是有值得。
(添加按钮和修改按钮对应的是同一个页面,只不过修改页面填充了form数据this.form = response.data

那么为什么先点击添加按钮,再点击修改按钮,修改页面就会出现数据呢。

很简单,那是因为添加按钮点击后,this.companyOptions被初始化,修改页面自然也就获取到了。

这个BUG修复非常简单:

只要在修改页面添加对应的初始化方法即可。

修改如下:

/** 修改按钮操作 */
    handleUpdate(row) {
    
    
      this.reset();
      const workshopId = row.workshopId || this.ids
      getWorkshop(workshopId).then(response => {
    
    
        //初始化companyOptions 
        this.companyOptions = response.companyOptions;
        this.form = response.data;
        this.open = true;
        this.title = "修改车间";
      });
    },

猜你喜欢

转载自blog.csdn.net/single_0910/article/details/121268022