Skip to content

Commit 7df686a

Browse files
committed
chore: memories displayValues
1 parent f8e5f61 commit 7df686a

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/OptionList.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ const OptionList: React.ForwardRefRenderFunction<ReviseRefOptionListProps> = (_,
7878
(prev, next) => next[0] && prev[1] !== next[1],
7979
);
8080

81+
const memoDisplayValues = React.useMemo(() => displayValues?.map(v => v.value), [displayValues]);
82+
8183
// ========================== Values ==========================
8284
const mergedCheckedKeys = React.useMemo(() => {
8385
if (!checkable) {
@@ -159,7 +161,7 @@ const OptionList: React.ForwardRefRenderFunction<ReviseRefOptionListProps> = (_,
159161
// >>> Disabled Strategy
160162
const disabledStrategy = (node: DataNode) => {
161163
if (isOverMaxCount) {
162-
const selectedValues = displayValues?.map(v => v.value) || [];
164+
const selectedValues = memoDisplayValues;
163165
if (!selectedValues.includes(node[fieldNames.value])) {
164166
return true;
165167
}
@@ -214,7 +216,7 @@ const OptionList: React.ForwardRefRenderFunction<ReviseRefOptionListProps> = (_,
214216

215217
React.useEffect(() => {
216218
const nodes: EventDataNode<any>[] = [];
217-
const selectedValueSet = new Set(displayValues?.map(v => v.value));
219+
const selectedValueSet = new Set(memoDisplayValues);
218220

219221
const collectNodes = (nodeList: EventDataNode<any>[]) => {
220222
nodeList.forEach(node => {
@@ -231,7 +233,7 @@ const OptionList: React.ForwardRefRenderFunction<ReviseRefOptionListProps> = (_,
231233

232234
collectNodes(memoTreeData);
233235
availableNodesRef.current = nodes;
234-
}, [displayValues, memoTreeData]);
236+
}, [memoDisplayValues, memoTreeData]);
235237

236238
// ========================== Active ==========================
237239
const [activeKey, setActiveKey] = React.useState<Key>(null);

0 commit comments

Comments
 (0)