Вы можете сохранить текст кнопки в состоянии (например: this.state.buttonText
), тогда вы сможете установить buttonText
, когда пользователь нажмет кнопку OK
/ Cancel
.
Вы можете использовать общий метод (в приведенном ниже примере hideAlert
) для управления обоими событиями (ок и отмена) и внутри него установить текст кнопки.
См. Следующий пример, пожалуйста ( нажмите здесь, чтобы запустить ):
import React, { Component } from "react";
import SweetAlert from "react-bootstrap-sweetalert";
import ReactDOM from "react-dom";
export default class HelloWorld extends Component {
constructor(props) {
super(props);
this.state = {
alert: null,
button: "active"
};
}
showAlert() {
const getAlert = () => (
<SweetAlert
show={this.state.show}
showCancel
onConfirm={() => this.hideAlert("disabled")}
onCancel={() => this.hideAlert("active")}
>
Are you sure?
</SweetAlert>
);
this.setState({
alert: getAlert()
});
}
hideAlert(text) {
this.setState({
alert: null,
button: text
});
}
render() {
return (
<div style={{ padding: "20px" }}>
<button onClick={() => this.showAlert()}>
{this.state.button}
</button>
{this.state.alert}
</div>
);
}
}
ReactDOM.render(<HelloWorld />, document.getElementById("app"));
Надеюсь, это поможет вам, пока.