【发布时间】:2020-05-20 19:40:24
【问题描述】:
我的模态:
class DeleteModal extends Component<Prop, State> {
state = {
deleteConfirmModel: false
};
handleModalToggle() {
this.setState(({ deleteConfirmModel }) => ({
deleteConfirmModel: !deleteConfirmModel,
}));
};
Service = new Service();
delete = () => {
this.Service
.delete()
.then((response) => {
window.location.reload(false);
})
.catch((error) => {
console.log(error);
});
};
render() {
const { deleteConfirmModel } = this.state;
return (
<React.Fragment>
<Modal
isSmall
title="Confirmation"
isOpen={deleteConfirmModel}
onClose={() => this.handleModalToggle()}
actions={[
<Button
key="confirm"
variant="primary"
onClick={this.delete}
>
Delete
</Button>,
<Button key="cancel" variant="link" onClick={this.handleModalToggle}>
Cancel
</Button>
]}
>
Are you sure you want to delete the item?
</Modal>
</React.Fragment>
);
}
我的其他组件:
export class SampleCard extends Component<Prop, State> {
state = {
deleteConfirmModel: false,
};
handleModalToggle = () => {
this.setState(({ deleteConfirmModel }) => ({
deleteConfirmModel: !deleteConfirmModel,
}));
};
render() {
const { deleteConfirmModel } = this.state;
return (
<React.Fragment>
<Row>
<Card
isCompact={true}
isSelectable={true}
className={"productListing"}
>
<Button
onClick={() => this.handleModalToggle()}
isDisabled={false}
> Delete Modal</Button>
</Card>
</Row>
</React.Fragment>
);
}
}
从我的 SampleCard 组件中,我想在单击 Delete 按钮时打开我的 deleteModal 组件。任何人都可以帮忙解决。因为当我在 SampleCard 组件中编写代码时,出现以下错误: 没有与此调用匹配的重载。 重载 1 of 2, '(props: Readonly):"
【问题讨论】:
-
你从哪里得到错误?如果是关于您的状态,请尝试将其设置为
setState(prevState => ({...prevState, deleteConfirmModel: !prevState.deleteConfirmModel}) -
所以当我在 sampleCard 组件中编写
时,我收到错误消息:没有重载匹配此调用。重载 1 of 2, '(props: Readonly):"
标签: javascript reactjs typescript