您的当前位置:首页正文

Antd 3.x Modal.confirm 手动控制

2024-11-08 来源:个人技术集锦

1.场景

在confirm中输入内容,检验不通过,则提醒用户,但不关闭confirm框

2.问题

antd 样例中,onOk,onCancel都是一触即关的模式

3.解决

目标效果:校验不通过,confirm框依旧存在,点击取消或是输入正确内容后点击确定,confirm框才会消失

4.代码:

/**
* @name feedBack
* @author beiysd
* @description 反馈
*/
  feedBack = () => {
    //声明 confirm,为了下一步手动关闭
    let confirm = Modal.confirm({
      title: '提示',
      width: 450,
      content: (
        <div>
          xxxxxxxxxx
          <div className={styles.reson_inp}>
            <Input.TextArea
              rows={4}
              defaultValue={this.state.resons}
              placeholder='请填写xxxx:'
              onChange={(e) => this.setState({ resons: e.target.value })}
            />
          </div>
        </div>
      ),
      onOk: (e) => { //填写e才能关闭确定后自动关闭的功能
        if (!this.state.resons.replace(/\s*/g, '')) {
          message.warning('请填写xxx')
        } else {
          //手动关闭confirm框
          confirm.destroy()
        }
      },
      onCancel: () => {},
    })
  }

 

Top