vue动态绑定ref以及获取/msgbox与el-select 结合使用的bug解决

我们需要动态绑定不一样的ref(比如 Arr1、Arr2、Arr3这种),那么我们如何实现呢?

设置:

 var int=Math.round(Math.random()*100);

var refModel='selectView_st'+int;

ref=refModel

获取:

that.$refs[`selectView_st${int}`
this.$refs[`selectView_st${int}`][0] 有时候返回是数组 需要选择 看情况 

什么时候需要?

msgbox与el-select 结合使用的bug: 切面切换后无法给el-select回显  因为获取不到这个ref 报错
解决:

classify(){
      const h = this.$createElement;
      const that = this
      var int=Math.round(Math.random()*100);
      that.refModel='selectView_st'+int;
      this.$msgbox({
        title: "请选择数据",
        message: h('el-select', 
          {
            props: {
              value: that.schemeIDForDisplayName,
              filterable: true,
            },
            
            ref: that.refModel,
            on: {
              change:event  => {
                 that.schemeIDForDisplay = event;          

                 for (var i = 0; i <this.optionList.length ; i++) { 
                  if(this.optionList[i].id==event){
                    that.schemeIDForDisplayName=this.DisposeString(that.optionList[i]) ;     
                    that.$refs[`selectView_st${int}`].$el.querySelector('.el-input__inner').value = that.schemeIDForDisplayName;                  
                  }
                 }      
              },
            },
          },
          [
            this.optionList.map(it => {
              return h('el-option', {
                props: {
                  label: this.DisposeString(it),
                  key: it.id,
                  value: it.id,
                },
              });
            })
          ]
        ),
        showCancelButton: true,
        closeOnClickModal: false,
        confirmButtonText: '确定', 
        cancelButtonText: '取消',
      }).then( _ => {       
      	// 成功操作。。。。
      }).catch(msg => {
      	// 取消操作。。。。
      });
    },

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

屋檐上的大修勾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值