From 3cea95e98c16b2fe15dec2820c3e714b8ce6b926 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 01 九月 2025 15:21:00 +0800
Subject: [PATCH] 添加跑库限制
---
rsf-admin/src/page/components/TreeSelectInput.jsx | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/rsf-admin/src/page/components/TreeSelectInput.jsx b/rsf-admin/src/page/components/TreeSelectInput.jsx
index d53b767..fb5de88 100644
--- a/rsf-admin/src/page/components/TreeSelectInput.jsx
+++ b/rsf-admin/src/page/components/TreeSelectInput.jsx
@@ -1,17 +1,20 @@
import React, { useState, useEffect } from 'react';
-import { useCreateContext, useTranslate } from 'react-admin'
+import { useCreateContext, useTranslate, useRecordContext } from 'react-admin'
import { MenuItem, Select, FormControl, InputLabel, Typography } from '@mui/material';
import request from '@/utils/request';
import * as Common from '@/utils/common';
import { useFormContext } from 'react-hook-form';
-const TreeSelectInput = ({ resource, label, source = 'parentId', value, isTranslate = false, ...rest }) => {
+const TreeSelectInput = ({ resource, required, onChange, label, source = 'parentId', value, isTranslate = false, ...rest }) => {
const translate = useTranslate();
- const { setValue } = useFormContext();
+ const form = useFormContext();
const [filter, setFilter] = React.useState("");
const [treeData, setTreeData] = React.useState([]);
const [proxyVal, setProxyVal] = React.useState('');
+
+ const record = useRecordContext()
+ const val = value || record?.[source];
useEffect(() => {
const http = async (resource) => {
@@ -20,7 +23,7 @@
});
if (res?.data?.code === 200) {
setTreeData(Common.flattenTree(res.data.data));
- setProxyVal(value);
+ setProxyVal(val);
} else {
notify(res.data.msg);
}
@@ -31,14 +34,15 @@
const handleChange = (event) => {
const val = event.target.value;
setProxyVal(val);
- setValue(source, val, {
+ form?.setValue(source, val, {
shouldValidate: true,
shouldDirty: true,
});
+ onChange(event)
};
return (
- <FormControl fullWidth>
+ <FormControl fullWidth required={required}>
<InputLabel>{translate(label)}</InputLabel>
<Select
value={proxyVal || ''}
--
Gitblit v1.9.1