From 2ca4cd60f67fcb12c51d1e15e0cdb89f7ec1092c Mon Sep 17 00:00:00 2001 From: Stev_Wang <304865932@qq.com> Date: Fri, 12 Dec 2025 20:20:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE=E9=A1=B5=E9=9D=A2=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/tabs/BasicConfigTab.tsx | 51 +++++-- src/pages/tabs/GameConfigTab.tsx | 204 ++++++++++++++++----------- src/pages/tabs/SecurityConfigTab.tsx | 117 ++++++++------- 3 files changed, 226 insertions(+), 146 deletions(-) diff --git a/src/pages/tabs/BasicConfigTab.tsx b/src/pages/tabs/BasicConfigTab.tsx index d597188..14167e4 100644 --- a/src/pages/tabs/BasicConfigTab.tsx +++ b/src/pages/tabs/BasicConfigTab.tsx @@ -30,7 +30,7 @@ interface BasicConfigTabProps { const BasicConfigTab: React.FC = ({ configs, - loading, + // loading, saving, onSave, onReset, @@ -38,20 +38,26 @@ const BasicConfigTab: React.FC = ({ onConfigChange }) => { const [form] = Form.useForm(); - const [formData, setFormData] = useState>({}); - - // 初始化表单数据 - useEffect(() => { - const initialData: Record = {}; + const [formData, setFormData] = useState>(() => { + // 初始化时设置默认数据 + const initialData: Record = {}; + configs.forEach(config => { + initialData[config.config_key] = config.config_value; + }); + return initialData; + }); + + // 初始化表单数据 + useEffect(() => { + const initialData: Record = {}; configs.forEach(config => { initialData[config.config_key] = config.config_value; }); - setFormData(initialData); form.setFieldsValue(initialData); }, [configs, form]); // 处理表单值变化 - const handleValuesChange = (changedValues: any, allValues: any) => { + const handleValuesChange = (_changedValues: Record, allValues: Record) => { setFormData(allValues); onConfigChange(); }; @@ -61,9 +67,10 @@ const BasicConfigTab: React.FC = ({ form.validateFields().then(() => { const saveRequests: SaveConfigRequest[] = configs.map(config => ({ config_key: config.config_key, - config_value: formData[config.config_key] || '', + config_value: String(formData[config.config_key] || ''), config_label: config.config_label, - config_group: config.config_group + config_group: config.config_group, + config_type: config.config_type })); onSave(saveRequests); }).catch(() => { @@ -155,7 +162,7 @@ const BasicConfigTab: React.FC = ({ style={{ marginBottom: '24px' }} > - {configItems.map((item, index) => { + {configItems.map((item) => { const config = configs.find(c => c.config_key === item.key); if (!config) return null; @@ -218,11 +225,10 @@ const BasicConfigTab: React.FC = ({ {/* 输入控件 */} @@ -230,16 +236,33 @@ const BasicConfigTab: React.FC = ({ { + form.setFieldValue(item.key, e.target.value); + onConfigChange(); + }} /> )} {item.type === 'textarea' && (