InputNumber的onChange事件里面如果用了Modal的语法糖,结果出现了2个弹出框

class App extends Component {

    handleChange = value => {
        Modal.confirm({
            title: '当前利润设置为负,是否确认',
            onOk: () => {
                console.log(value)
            },
            onCancel: () => {
                console.log(value)
            }
        })
    }

    render() {

        return (
            <div className="App">
                <InputNumber onChange={this.handleChange} />
            </div>
        );
    }
}

export default App;

当修改InputNumber值的时候出现了2个弹窗,这似乎是个bug

class App extends Component {

    handleChange = value => {
        this.setState({
            visible: true
        })
    }

    render() {

        return (
            <div className="App">
                <InputNumber onChange={this.handleChange} />
                <Modal title="test" visible={this.state.visible}>
                    test
                </Modal>
            </div>
        );
    }
}

放在jsx就正常只有一个弹窗

阅读 3.3k
1 个回答

因为你一直调用Modal.confirm(),出现无限个都不奇怪。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进