fix: currentObject can not loadData (#2385)
This commit is contained in:
parent
05cba94982
commit
316b12a4ba
@ -120,8 +120,9 @@ const ConstantTypes = {
|
|||||||
|
|
||||||
function getTypedConstantOption(type: string, types: true | string[], fieldNames) {
|
function getTypedConstantOption(type: string, types: true | string[], fieldNames) {
|
||||||
const allTypes = Object.values(ConstantTypes);
|
const allTypes = Object.values(ConstantTypes);
|
||||||
const children = (
|
const children = (types
|
||||||
types ? allTypes.filter((item) => (Array.isArray(types) && types.includes(item.value)) || types === true) : allTypes
|
? allTypes.filter((item) => (Array.isArray(types) && types.includes(item.value)) || types === true)
|
||||||
|
: allTypes
|
||||||
).map((item) =>
|
).map((item) =>
|
||||||
Object.keys(item).reduce(
|
Object.keys(item).reduce(
|
||||||
(result, key) =>
|
(result, key) =>
|
||||||
@ -181,8 +182,10 @@ export function Input(props) {
|
|||||||
fieldNames ?? {},
|
fieldNames ?? {},
|
||||||
);
|
);
|
||||||
|
|
||||||
const { component: ConstantComponent, ...constantOption }: DefaultOptionType & { component?: React.FC<any> } =
|
const {
|
||||||
useMemo(() => {
|
component: ConstantComponent,
|
||||||
|
...constantOption
|
||||||
|
}: DefaultOptionType & { component?: React.FC<any> } = useMemo(() => {
|
||||||
if (children) {
|
if (children) {
|
||||||
return {
|
return {
|
||||||
value: '',
|
value: '',
|
||||||
@ -209,7 +212,7 @@ export function Input(props) {
|
|||||||
|
|
||||||
const loadData = async (selectedOptions: DefaultOptionType[]) => {
|
const loadData = async (selectedOptions: DefaultOptionType[]) => {
|
||||||
const option = selectedOptions[selectedOptions.length - 1];
|
const option = selectedOptions[selectedOptions.length - 1];
|
||||||
if (!option.children && !option.isLeaf && option.loadChildren) {
|
if (!option.children?.length && !option.isLeaf && option.loadChildren) {
|
||||||
await option.loadChildren(option);
|
await option.loadChildren(option);
|
||||||
setOptions((prev) => [...prev]);
|
setOptions((prev) => [...prev]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user