fix: 🐛 修复系统配置页语法上的一些问题

This commit is contained in:
Stev_Wang
2025-12-12 22:19:20 +08:00
parent 429883b0bf
commit 9d7bc5508a

View File

@@ -48,6 +48,16 @@ interface ConfigItem {
options?: Array<{ value: string; label: string }>; options?: Array<{ value: string; label: string }>;
} }
// 定义表单数据的类型
interface FormDataType {
[key: string]: string | boolean | number | null | undefined;
}
// 定义变化的值的类型
interface ChangedValuesType {
[key: string]: string | boolean | number | null | undefined;
}
const GameConfigTab: React.FC<GameConfigTabProps> = ({ const GameConfigTab: React.FC<GameConfigTabProps> = ({
configs, configs,
loading, loading,
@@ -58,11 +68,11 @@ const GameConfigTab: React.FC<GameConfigTabProps> = ({
onConfigChange onConfigChange
}) => { }) => {
const [form] = Form.useForm(); const [form] = Form.useForm();
const [formData, setFormData] = useState<Record<string, unknown>>({}); const [formData, setFormData] = useState<FormDataType>({});
// 初始化表单数据 // 初始化表单数据
useEffect(() => { useEffect(() => {
const initialData: Record<string, unknown> = {}; const initialData: FormDataType = {};
configs.forEach(config => { configs.forEach(config => {
if (config.config_type === 'boolean') { if (config.config_type === 'boolean') {
initialData[config.config_key] = config.config_value === '1' || config.config_value === 'true'; initialData[config.config_key] = config.config_value === '1' || config.config_value === 'true';
@@ -80,7 +90,7 @@ const GameConfigTab: React.FC<GameConfigTabProps> = ({
}, [configs, form]); }, [configs, form]);
// 处理表单值变化 // 处理表单值变化
const handleValuesChange = (changedValues: Record<string, unknown>, allValues: Record<string, unknown>) => { const handleValuesChange = (changedValues: ChangedValuesType, allValues: FormDataType) => {
setFormData(allValues); setFormData(allValues);
// 使用changedValues参数避免未使用的警告 // 使用changedValues参数避免未使用的警告
if (Object.keys(changedValues).length > 0) { if (Object.keys(changedValues).length > 0) {
@@ -94,7 +104,7 @@ const GameConfigTab: React.FC<GameConfigTabProps> = ({
const saveRequests: SaveConfigRequest[] = configs.map(config => ({ const saveRequests: SaveConfigRequest[] = configs.map(config => ({
config_key: config.config_key, config_key: config.config_key,
config_value: config.config_type === 'boolean' config_value: config.config_type === 'boolean'
? ((formData[config.config_key] as boolean) ? '1' : '0') ? (formData[config.config_key] ? '1' : '0')
: String(formData[config.config_key] || ''), : String(formData[config.config_key] || ''),
config_type: config.config_type, config_type: config.config_type,
config_label: config.config_label, config_label: config.config_label,