--- title: React date: 2025-07-23 15:56:46 tags: --- # 父子组件传递事件 ## 子组件是模态框,确定按钮需要增加loading状态 ### **子组件:增加 `confirmLoading` 状态并优化 `handleOk` 方法** ```tsx import React, { useState } from 'react'; import { Modal, Checkbox, Input, message } from 'antd'; import { useTranslation } from 'react-i18next' const { TextArea } = Input; interface FeedbackModalProps { open: boolean; onOk: (selectedOption: number | null, feedbackText: string) => Promise; onCancel: () => void; } const FeedbackModal: React.FC = ({ open, onOk, onCancel }) => { const [selectedOption, setSelectedOption] = useState(null); const [feedbackText, setFeedbackText] = useState(''); const { t } = useTranslation() const [confirmLoading, setConfirmLoading] = useState(false); const handleOk = async () => { if (!feedbackText) { message.warning('请填写反馈建议'); return; } setConfirmLoading(true) try { await onOk(selectedOption, feedbackText); } finally { setConfirmLoading(false) } }; return ( {/*
setSelectedOption(0)} > 新增 setSelectedOption(1)} > 修改
*/}