获取 Element-ui的 msgbox 填写的值

最近做了一个需求,需要弹出一个 message box, 其中 msgbox 里包含一个输入框,输入框要填写内容,点击确认后要拿到这个输入的值。

	// 这个函数返回一个 promise,该promise如果resolve会拿到输入的值。
	function addDescription() {
      const h = this.$createElement;
      let desc = '';	// 这里保存输入的值
      return new Promise(resolve => {
        this.$msgbox({		// msgbox里面如果是dom元素,只能是原生的dom,如果想用elmentui,就应该手动给他添加类
          title: '添加描述',
          message: h(
            'div',
            {
              class: {
                'el-input': true,
                'el-input--small': true,
                'el-input--suffix': true
              }
            },
            [
              h('input', {
                domProps: {
                  type: 'text',
                  value: desc,
                  placeholder: '请输入描述'
                },
                class: {
                  'el-input__inner': true
                },
                on: {
                  change: function(event) {
                    desc = event.target.value;	// 监听change事件,手动的将值给保存到desc中
                  }
                }
              })
            ]
          ),
          showCancelButton: true,
          confirmButtonText: '确定',
          cancelButtonText: '不需要描述',
          beforeClose: (action, instance, done) => {
            if (action === 'confirm') {
              resolve(desc);
              done();
            } else {
              resolve('');
              done();
            }
          }
        });
      });
    }

使用的时候:

let res = await this.addDescription();  // 这样就能拿到填写的值了
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值