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