Просмотр исходного кода

fix: 修复薪资创建时不选区县被 schema 拦截的问题

问题原因:
- DistrictSelectField 组件在未选择区县时传递空字符串 ''
- z.coerce.number() 将空字符串转换为 0
- 然后 .positive() 验证失败(要求 > 0)

修复方案:
- 将空值从 '' 改为 undefined
- 选择区县时使用 Number(value) 转换为数字

修复后用户可以只选择省份和城市创建薪资,不需要选择区县。

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 22 часов назад
Родитель
Сommit
21f8212dcb

+ 1 - 1
packages/area-management-ui/src/components/areas/form/DistrictSelectField.tsx

@@ -43,7 +43,7 @@ export const DistrictSelectField = <T extends FieldValues = FieldValues>({
             <Select
               value={field.value || ''}
               onValueChange={(value) => {
-                field.onChange(value && value !== 'none' ? value : '');
+                field.onChange(value && value !== 'none' ? Number(value) : undefined);
               }}
               disabled={isDisabled}
             >