Skip to content

Commit e65f5e6

Browse files
committed
fix: FormilyEditable
1 parent 2853df6 commit e65f5e6

1 file changed

Lines changed: 12 additions & 16 deletions

File tree

packages/fast-editable-table/src/FormilyEditableTable.tsx

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,14 @@ const FormilyEditableTableInner: React.FC<Omit<IFormilyEditableTableProps, 'name
7777
const valueLenRef = React.useRef(valueLen);
7878
valueLenRef.current = valueLen;
7979

80-
// 分页状态
81-
const defaultPagination = React.useMemo(() => {
82-
if (paginationIn === false) {
83-
return { current: 1, pageSize: 10 };
84-
}
85-
return {
86-
current: paginationIn?.current ?? 1,
87-
pageSize: paginationIn?.pageSize ?? 10,
88-
};
89-
// eslint-disable-next-line react-hooks/exhaustive-deps
90-
}, []);
80+
// 分页状态:只取初始值,后续由 tableState 管理
81+
const defaultPaginationRef = React.useRef(
82+
paginationIn === false
83+
? { current: 1, pageSize: 10 }
84+
: { current: paginationIn?.current ?? 1, pageSize: paginationIn?.pageSize ?? 10 },
85+
);
9186

92-
const [tableState, setTableState] = React.useState(defaultPagination);
87+
const [tableState, setTableState] = React.useState(defaultPaginationRef.current);
9388
const { current, pageSize } = tableState;
9489

9590
React.useEffect(() => {
@@ -162,12 +157,13 @@ const FormilyEditableTableInner: React.FC<Omit<IFormilyEditableTableProps, 'name
162157
);
163158
}, [hideAdd, disableAdd, add, addButtonPosition, addButtonProps, addText]);
164159

165-
// dataSource
160+
// dataSource:field.value 是 Formily 响应式对象,引用不变,用 version 触发重算
161+
const fieldRef = React.useRef(field);
162+
fieldRef.current = field;
163+
// biome-ignore lint/correctness/useExhaustiveDependencies: version is the intentional trigger; fieldRef.current is a ref read
166164
const dataSource = React.useMemo(() => {
167-
const rows = field.value || [];
165+
const rows = fieldRef.current.value || [];
168166
return rows.map((item: any, index: number) => ({ ...item, key: index }));
169-
// version 变化时重新计算
170-
// eslint-disable-next-line react-hooks/exhaustive-deps
171167
}, [version]);
172168

173169
return (

0 commit comments

Comments
 (0)