Showing
1 changed file
with
4 additions
and
1 deletions
... | ... | @@ -98,6 +98,7 @@ export const useNodeFieldDisplay = ({ |
98 | 98 | ); |
99 | 99 | const [inputDisplay, setInputDisplay] = useState<React.ReactNode>(); |
100 | 100 | const [optionalNodes, setOptionalNodes] = useState<FiledType[]>([]); // 根据 fieldType 过滤后的 nodes |
101 | + const displayResolved = useRef<boolean>(false) | |
101 | 102 | |
102 | 103 | const getResultFieldMap = (optionalNodes: FiledType[]) => { |
103 | 104 | const resultMap: Record<string, FiledType | INode> = {}; |
... | ... | @@ -159,10 +160,12 @@ export const useNodeFieldDisplay = ({ |
159 | 160 | |
160 | 161 | const getDisplayConfig = async (val = value): Promise<FiledType[]> => { |
161 | 162 | return new Promise((resolve, reject) => { |
163 | + if (displayResolved.current) resolve(handleGetDisplayConfig(val!)) | |
162 | 164 | resolveDisplayConfig.current = () => { |
163 | 165 | try { |
164 | 166 | console.log('handleGetDisplayConfig'); |
165 | 167 | resolve(handleGetDisplayConfig(val!)); |
168 | + displayResolved.current = true | |
166 | 169 | } catch (error) { |
167 | 170 | reject(error); |
168 | 171 | } |
... | ... | @@ -424,7 +427,7 @@ export const useNodeFieldDisplay = ({ |
424 | 427 | newNodes = getEffectiveNodes(cloneDeep(newNodes)); |
425 | 428 | } |
426 | 429 | |
427 | - console.log('newNodes', newNodes); | |
430 | + // console.log('newNodes', newNodes); | |
428 | 431 | setOptionalNodes(newNodes); |
429 | 432 | resultFieldMap.current = getResultFieldMap(newNodes); |
430 | 433 | resolveFieldResultMap.current?.(resultFieldMap.current); | ... | ... |