From 2fb1e4fec9fd815c71291f65317c25c8f89de060 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 23 一月 2026 15:29:50 +0800
Subject: [PATCH] #
---
rsf-admin/src/page/components/WarehouseSelect.jsx | 30 +++++++++++++++++++++---------
1 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/rsf-admin/src/page/components/WarehouseSelect.jsx b/rsf-admin/src/page/components/WarehouseSelect.jsx
index 74f4653..18e5507 100644
--- a/rsf-admin/src/page/components/WarehouseSelect.jsx
+++ b/rsf-admin/src/page/components/WarehouseSelect.jsx
@@ -2,14 +2,29 @@
import {
useTranslate, useNotify, required
} from 'react-admin';
+import { useController } from 'react-hook-form';
import request from '@/utils/request';
import { Select, MenuItem, FormControl, InputLabel } from '@mui/material';
const WarehouseSelect = (props) => {
- const { dictTypeCode, label, value, onChange, ...params } = props;
+ const { dictTypeCode, label, name, validate, ...params } = props;
const translate = useTranslate();
const notify = useNotify();
const [list, setList] = useState([]);
+
+ // 浣跨敤 useController 涓� react-hook-form 闆嗘垚
+ const { field, fieldState } = useController({
+ name: name,
+ rules: validate ? {
+ validate: (value) => {
+ for (const rule of validate) {
+ const result = rule(value);
+ if (result) return result;
+ }
+ return true;
+ }
+ } : undefined
+ });
useEffect(() => {
http();
@@ -31,19 +46,16 @@
const handleChange = (event) => {
const selectedValue = event.target.value;
- console.log(event);
- if (onChange) {
- onChange(event);
- }
+ field.onChange(selectedValue);
};
- const validValue = list.some(item => item.id === value) ? value : '';
+ const validValue = list.some(item => item.id === field.value) ? field.value : '';
return (
- <FormControl required fullWidth>
- <InputLabel id="demo-select-small-label">{label}</InputLabel>
+ <FormControl required fullWidth error={!!fieldState.error}>
+ <InputLabel id={`${name}-label`}>{label}</InputLabel>
<Select
- labelId="demo-select-small-label"
+ labelId={`${name}-label`}
value={validValue}
variant="filled"
onChange={handleChange}
--
Gitblit v1.9.1