From 9cfa138796c8305eac23479c87bef44fa7bb6ad3 Mon Sep 17 00:00:00 2001 From: Ordinary Date: Fri, 28 Mar 2025 12:43:26 +0000 Subject: [PATCH 1/2] fix: fixed bug where target.id was null when clicking 'x' icon --- .../pages/Setting/Operation/SettingsGeneral.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/web/src/pages/Setting/Operation/SettingsGeneral.js b/web/src/pages/Setting/Operation/SettingsGeneral.js index e6279c92..18bf7ffb 100644 --- a/web/src/pages/Setting/Operation/SettingsGeneral.js +++ b/web/src/pages/Setting/Operation/SettingsGeneral.js @@ -27,9 +27,10 @@ export default function GeneralSettings(props) { const refForm = useRef(); const [inputsRow, setInputsRow] = useState(inputs); - function onChange(value, e) { - const name = e.target.id; - setInputs((inputs) => ({ ...inputs, [name]: value })); + function handleFieldChange(fieldName) { + return (value) => { + setInputs((inputs) => ({ ...inputs, [fieldName]: value })); + }; } function onSubmit() { @@ -98,7 +99,7 @@ export default function GeneralSettings(props) { label={t('充值链接')} initValue={''} placeholder={t('例如发卡网站的购买链接')} - onChange={onChange} + onChange={handleFieldChange('TopUpLink')} showClear /> @@ -108,7 +109,7 @@ export default function GeneralSettings(props) { label={t('文档地址')} initValue={''} placeholder={t('例如 https://docs.newapi.pro')} - onChange={onChange} + onChange={handleFieldChange('general_setting.docs_link')} showClear /> @@ -118,7 +119,7 @@ export default function GeneralSettings(props) { label={t('单位美元额度')} initValue={''} placeholder={t('一单位货币能兑换的额度')} - onChange={onChange} + onChange={handleFieldChange('QuotaPerUnit')} showClear onClick={() => setShowQuotaWarning(true)} /> @@ -129,7 +130,7 @@ export default function GeneralSettings(props) { label={t('失败重试次数')} initValue={''} placeholder={t('失败重试次数')} - onChange={onChange} + onChange={handleFieldChange('RetryTimes')} showClear /> From af7f886c3989ca09459629b99d7a8272647e1c6e Mon Sep 17 00:00:00 2001 From: Ordinary Date: Fri, 28 Mar 2025 12:44:40 +0000 Subject: [PATCH 2/2] refactor: use handleFieldChange function on change event --- .../Setting/Operation/SettingsGeneral.js | 35 +++---------------- 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/web/src/pages/Setting/Operation/SettingsGeneral.js b/web/src/pages/Setting/Operation/SettingsGeneral.js index 18bf7ffb..30d3026a 100644 --- a/web/src/pages/Setting/Operation/SettingsGeneral.js +++ b/web/src/pages/Setting/Operation/SettingsGeneral.js @@ -143,12 +143,7 @@ export default function GeneralSettings(props) { size='default' checkedText='|' uncheckedText='〇' - onChange={(value) => { - setInputs({ - ...inputs, - DisplayInCurrencyEnabled: value, - }); - }} + onChange={handleFieldChange('DisplayInCurrencyEnabled')} /> @@ -158,12 +153,7 @@ export default function GeneralSettings(props) { size='default' checkedText='|' uncheckedText='〇' - onChange={(value) => - setInputs({ - ...inputs, - DisplayTokenStatEnabled: value, - }) - } + onChange={handleFieldChange('DisplayTokenStatEnabled')} /> @@ -173,12 +163,7 @@ export default function GeneralSettings(props) { size='default' checkedText='|' uncheckedText='〇' - onChange={(value) => - setInputs({ - ...inputs, - DefaultCollapseSidebar: value, - }) - } + onChange={handleFieldChange('DefaultCollapseSidebar')} /> @@ -190,12 +175,7 @@ export default function GeneralSettings(props) { size='default' checkedText='|' uncheckedText='〇' - onChange={(value) => - setInputs({ - ...inputs, - DemoSiteEnabled: value - }) - } + onChange={handleFieldChange('DemoSiteEnabled')} /> @@ -206,12 +186,7 @@ export default function GeneralSettings(props) { size='default' checkedText='|' uncheckedText='〇' - onChange={(value) => - setInputs({ - ...inputs, - SelfUseModeEnabled: value - }) - } + onChange={handleFieldChange('SelfUseModeEnabled')} />