vue2 element-ui createElement的坑

弹窗,通过$createElement创建元素:

const h = this.$createElement;
this.$msgbox({
  title: '单页名称',
  message: h('p', null, [
    h('span', null, '备注 '),
    h('el-input', {
      props: {
        value: this.saveInputValue,
        placeholder: '请输入单页名称',
      },
      nativeOn: {
        input: (v) => {
          console.log('v');
          this.saveInputValue = v;
        },
      },
    }),
  ]),
  showCancelButton: true,
  confirmButtonText: '确定',
  cancelButtonText: '取消',
  beforeClose: (action, instance, done) => {
    console.log(instance);
    if (action === 'confirm') {
      instance.confirmButtonLoading = true;
      instance.confirmButtonText = '执行中...';
      setTimeout(() => {
        done();
        setTimeout(() => {
          instance.confirmButtonLoading = false;
        }, 300);
      }, 3000);
    } else {
      done();
    }
  },
}).then((action) => {});

使用这种方式创建的el-input输入无效,很多参数也传不进去,查看github有挺多同类问题,但官方未予理会,不推荐使用该方式写,建议另外创建一个组件代替。

评论

0 / 800
全部评论()