gpt4 book ai didi

javascript - 有没有一种方法可以在不使用 ANTD 上的默认按钮的情况下关闭 Modal?

转载 作者:行者123 更新时间:2023-12-04 17:30:05 30 4
gpt4 key购买 nike

所以我是 ReactJS 的新手,我正在使用 ANT Design,目前正在使用他们的 Modal。我想知道我们是否可以在不使用 OKCancel 按钮的情况下关闭模态框。

所以我删除了这些按钮。并在配置中创建了一个按钮。我想使用该按钮关闭模式。任何帮助都会很棒!提前致谢!

这是我的代码。

const {  Modal, Button  } = antd;

const ReachableContext = React.createContext();
const UnreachableContext = React.createContext();

const handleButtonOnClick = () => {
console.log('this button was clicked');
}

const config = {
visible: false,
title: 'Use Hook!', icon: null,
okButtonProps: { style: { display: 'none' } },
// cancelButtonProps: { style: { display: 'none' } },
content: (
<div>
<ReachableContext.Consumer>
{sample => (
<Button
type='primary'
block
>
Click Me Button
// IS THERE A FUNCTION THAT I CAN CLOSE THE MODAL USING THIS BUTTON?
</Button>
)}
</ReachableContext.Consumer>
</div>
),
};

const App = () => {
const [modal, contextHolder] = Modal.useModal();
return (
<ReachableContext.Provider value={modal}>
<Button
onClick={() => {
modal.confirm(config);
}}
>
Confirm
</Button>
{contextHolder}
</ReachableContext.Provider>
);
};

ReactDOM.render(<App />, mountNode);

最佳答案

这就是我关闭/显示 Modal 的方式.我不使用 Okcancel 按钮。如果 showForm 属性为 true,则 Modal 将显示,否则不会显示。

import React, { Component } from "react";
import { connect } from "react-redux";
import * as actions from "../../actions";

import { Modal, Icon } from "antd";

class FormContainerModal extends Component {
state = {};

render() {
const { showForm } = this.props;
return (
<>
<Modal
title={
<div>
Title
</div>
}
destroyOnClose={true}
footer={null}
centered
maskClosable={false}
onCancel={this.props.closeModal}
visible={showForm} //it will close the modal if showForm is false
width="950px"
>
<div>
My Content
</div>
</Modal>
</>
);
}
}

const mapStateToProps = state => {
return {
showForm: state.form.showForm
};
};

export default connect(mapStateToProps, actions)(FormContainerModal);

在您的情况下,您可以在单击按钮时更改 showForm 的 bool 值。

           <Button
type='primary'
block
onClick={()=>this.setState({showForm: false})} //here make showForm to false to close the modal
>
Close the Modal
</Button>

关于javascript - 有没有一种方法可以在不使用 ANTD 上的默认按钮的情况下关闭 Modal?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60592716/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com