vue中在elementui对话框里使用Select 选择器,选中内容,重新打开对话框,Select 默认内容显示错误的问题

这是问题出现的地方,当我设备名称选中测试3,重新打开对话框,进行编辑的时候,显示的却是60,这个问题困扰了我很久,最后还是通过向朋友求助,才解决这个问题,

这是我下拉选项的内容

 这是el-table中设备名称列,接收的是设备名称字段

<el-table-column label="设备名称" prop="deviceName" />

这是弹出对话框中的设备名称下拉选项内容

<el-form-item label="设备名称" prop="deviceId">
            <el-select
              v-model="specsForm.deviceName"
              filterable
              placeholder="请选择"
              @change="deviceChange"
              class="dialog-form-select"
            >
              <el-option
                v-for="item in shebeilist"
                :key="item.id"
                :label="item.label"
                :value="item.id"
              >
              </el-option>
            </el-select>
          </el-form-item>

打印shebeilist的结果如下

 

当下拉选项,选中一个选项的时候会触发deviceChange事件处理函数,这个函数的参数就是deviceId,我们可以在deviceChange中进行如下处理,利用的是filter方法,得到一个满足条件的新数组,此时就解决了这个问题啦,同时非常感谢我在小米工作的同学帮我解决~

   // 设备下拉选项
    deviceChange(v, i) {
      //设备名称select改变
      console.log(406, v, i, this.shebeilist);
      const activeShebei = this.shebeilist.filter((s) => {
        return s.id == v;
      })[0].label;
      console.log(activeShebei);
       //或者直接
      //this.specsForm.deviceName = this.shebeilist[0].label
      this.specsForm.deviceName = activeShebei;
      this.specsForm.deviceId = v;
    },

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多看书少吃饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值