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
有挺多同类问题,但官方未予理会,不推荐使用该方式写,建议另外创建一个组件代替。
评论