|
|
@@ -12,9 +12,9 @@ import { DialogFooter } from '@/client/components/ui/dialog';
|
|
|
const locationFormSchema = z.object({
|
|
|
name: z.string().min(1, '地点名称不能为空').max(100, '地点名称不能超过100个字符'),
|
|
|
address: z.string().min(1, '地址不能为空').max(200, '地址不能超过200个字符'),
|
|
|
- areaId: z.coerce.number().int().positive('请选择所属区域'),
|
|
|
- latitude: z.coerce.number().optional(),
|
|
|
- longitude: z.coerce.number().optional(),
|
|
|
+ areaId: z.coerce.number<number>().int().positive('请选择所属区域'),
|
|
|
+ latitude: z.coerce.number<number>().optional(),
|
|
|
+ longitude: z.coerce.number<number>().optional(),
|
|
|
});
|
|
|
|
|
|
type LocationFormValues = z.infer<typeof locationFormSchema>;
|
|
|
@@ -149,7 +149,7 @@ export const LocationForm = ({
|
|
|
step="any"
|
|
|
placeholder="例如:39.9042"
|
|
|
{...field}
|
|
|
- value={field.value === undefined ? '' : field.value}
|
|
|
+ value={field.value === undefined || field.value === null ? '' : field.value}
|
|
|
onChange={(e) => {
|
|
|
const value = e.target.value === '' ? undefined : parseFloat(e.target.value);
|
|
|
field.onChange(value);
|
|
|
@@ -176,7 +176,7 @@ export const LocationForm = ({
|
|
|
step="any"
|
|
|
placeholder="例如:116.4074"
|
|
|
{...field}
|
|
|
- value={field.value === undefined ? '' : field.value}
|
|
|
+ value={field.value === undefined || field.value === null ? '' : field.value}
|
|
|
onChange={(e) => {
|
|
|
const value = e.target.value === '' ? undefined : parseFloat(e.target.value);
|
|
|
field.onChange(value);
|