diff --git a/packages/core/client/src/flow/models/actions/UpdateRecordActionModel.tsx b/packages/core/client/src/flow/models/actions/UpdateRecordActionModel.tsx index 410c054ffc9..9080d29284a 100644 --- a/packages/core/client/src/flow/models/actions/UpdateRecordActionModel.tsx +++ b/packages/core/client/src/flow/models/actions/UpdateRecordActionModel.tsx @@ -64,7 +64,7 @@ function AssignFieldsEditor() { // 批量配置态:移除 ctx.record(Action 为区块级,不具备单条记录上下文) const isBulk = action instanceof CollectionActionModel && !(action instanceof RecordActionModel); if (isBulk && (formModel as any)?.context?.defineProperty) { - formModel.context.defineProperty('record', { get: () => undefined }); + formModel.context.defineProperty('record', { get: () => undefined, cache: false }); } initializedRef.current = true; }, [action, blockModel?.collection, formModel]); diff --git a/packages/core/client/src/flow/models/base/GridModel.tsx b/packages/core/client/src/flow/models/base/GridModel.tsx index 4604653d8d0..29d6e24df71 100644 --- a/packages/core/client/src/flow/models/base/GridModel.tsx +++ b/packages/core/client/src/flow/models/base/GridModel.tsx @@ -626,6 +626,7 @@ export class GridModel record, + cache: false, }); return fork; })(); diff --git a/packages/core/client/src/flow/models/blocks/form/QuickEditFormModel.tsx b/packages/core/client/src/flow/models/blocks/form/QuickEditFormModel.tsx index 500139044fe..ae09770c8c2 100644 --- a/packages/core/client/src/flow/models/blocks/form/QuickEditFormModel.tsx +++ b/packages/core/client/src/flow/models/blocks/form/QuickEditFormModel.tsx @@ -112,6 +112,7 @@ export class QuickEditFormModel extends FlowModel { const recordMeta: PropertyMetaFactory = createCurrentRecordMetaFactory(this.context, () => this.collection); this.context.defineProperty('record', { get: () => this.resource.getData(), + cache: false, resolveOnServer: createRecordResolveOnServerWithLocal( () => this.collection, () => this.resource.getData(), diff --git a/packages/core/client/src/flow/models/blocks/table/JSColumnModel.tsx b/packages/core/client/src/flow/models/blocks/table/JSColumnModel.tsx index 57c283c8277..6132a6a4640 100644 --- a/packages/core/client/src/flow/models/blocks/table/JSColumnModel.tsx +++ b/packages/core/client/src/flow/models/blocks/table/JSColumnModel.tsx @@ -128,6 +128,7 @@ export class JSColumnModel extends TableCustomColumnModel { ); fork.context.defineProperty('record', { get: () => record, + cache: false, resolveOnServer: createRecordResolveOnServerWithLocal( () => fork.context.collection, () => record, diff --git a/packages/core/client/src/flow/models/blocks/table/TableActionsColumnModel.tsx b/packages/core/client/src/flow/models/blocks/table/TableActionsColumnModel.tsx index 3239ce66ed8..4245b0ba024 100644 --- a/packages/core/client/src/flow/models/blocks/table/TableActionsColumnModel.tsx +++ b/packages/core/client/src/flow/models/blocks/table/TableActionsColumnModel.tsx @@ -56,6 +56,7 @@ const Columns = observer(({ record, model, index }) => { ); fork.context.defineProperty('record', { get: () => record, + cache: false, resolveOnServer: createRecordResolveOnServerWithLocal( () => (fork.context as any).collection, () => record, diff --git a/packages/core/client/src/flow/models/blocks/table/TableBlockModel.tsx b/packages/core/client/src/flow/models/blocks/table/TableBlockModel.tsx index d05f22a8449..1a3f4af7d87 100644 --- a/packages/core/client/src/flow/models/blocks/table/TableBlockModel.tsx +++ b/packages/core/client/src/flow/models/blocks/table/TableBlockModel.tsx @@ -291,6 +291,7 @@ export class TableBlockModel extends CollectionBlockModel record, + cache: false, meta: recordMeta, }); fork.setProps({ ...model.props, value: values[dataIndex] }); diff --git a/packages/core/client/src/flow/models/fields/AssociationFieldModel/recordSelectShared.tsx b/packages/core/client/src/flow/models/fields/AssociationFieldModel/recordSelectShared.tsx index 115826d2496..bb6492445eb 100644 --- a/packages/core/client/src/flow/models/fields/AssociationFieldModel/recordSelectShared.tsx +++ b/packages/core/client/src/flow/models/fields/AssociationFieldModel/recordSelectShared.tsx @@ -54,6 +54,7 @@ export function LabelByField(props: Readonly) { const fieldModel = field.createFork({}, key); fieldModel.context.defineProperty('record', { get: () => option, + cache: false, meta: createCurrentRecordMetaFactory(fieldModel.context, () => fieldModel.context.collection), }); const labelValue = option?.[fieldNames.label] || option.label; diff --git a/packages/core/client/src/flow/models/fields/DisplayAssociationField/DisplaySubListFieldModel.tsx b/packages/core/client/src/flow/models/fields/DisplayAssociationField/DisplaySubListFieldModel.tsx index f11e6d74677..e234f4c2e96 100644 --- a/packages/core/client/src/flow/models/fields/DisplayAssociationField/DisplaySubListFieldModel.tsx +++ b/packages/core/client/src/flow/models/fields/DisplayAssociationField/DisplaySubListFieldModel.tsx @@ -54,6 +54,7 @@ const ArrayNester = ({ name, value = [] }: any) => { }); fork.context.defineProperty('record', { get: () => record, + cache: false, }); forksRef.current[key] = fork; } diff --git a/packages/core/client/src/flow/models/fields/VariableFieldFormModel.tsx b/packages/core/client/src/flow/models/fields/VariableFieldFormModel.tsx index dcaa6936461..a197b25b850 100644 --- a/packages/core/client/src/flow/models/fields/VariableFieldFormModel.tsx +++ b/packages/core/client/src/flow/models/fields/VariableFieldFormModel.tsx @@ -39,6 +39,7 @@ export class VariableFieldFormModel extends FlowModel { }); this.context.defineProperty('record', { get: () => {}, + cache: false, }); } diff --git a/packages/core/client/src/schema-component/antd/date-picker/__tests__/date-picker.test.tsx b/packages/core/client/src/schema-component/antd/date-picker/__tests__/date-picker.test.tsx index 246cdda0be4..b0a14e26de5 100644 --- a/packages/core/client/src/schema-component/antd/date-picker/__tests__/date-picker.test.tsx +++ b/packages/core/client/src/schema-component/antd/date-picker/__tests__/date-picker.test.tsx @@ -108,10 +108,15 @@ describe('RangePicker', () => { await userEvent.click(document.querySelector('[title="2023-05-01"]') as HTMLElement); await userEvent.click(document.querySelector('[title="2023-05-02"]') as HTMLElement); - await waitFor(() => expect(startInput).toHaveValue('2023-05-01')); - await waitFor(() => expect(endInput).toHaveValue('2023-05-02')); - // Read pretty - expect(screen.getByText('2023-05-01~2023-05-02', { selector: '.ant-description-text' })).toBeInTheDocument(); + await waitFor( + () => { + expect(startInput).toHaveValue('2023-05-01'); + expect(endInput).toHaveValue('2023-05-02'); + // Read pretty(等到回填完成再断言,避免动画未收起导致的偶发失败) + expect(screen.getByText('2023-05-01~2023-05-02', { selector: '.ant-description-text' })).toBeInTheDocument(); + }, + { timeout: 3000 }, + ); // Value expect(screen.getByText('2023-05-01T00:00:00.000Z ~ 2023-05-02T23:59:59.999Z')).toBeInTheDocument(); }); diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/BulkUpdateActionModel.tsx b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/BulkUpdateActionModel.tsx index 0c2178275a1..b68787001a7 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/BulkUpdateActionModel.tsx +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/src/client/BulkUpdateActionModel.tsx @@ -60,6 +60,7 @@ function AssignFieldsEditor() { // formModel.context.defineProperty('formValues', { get: () => undefined }); formModel.context.defineProperty('record', { get: () => undefined, + cache: false, }); initializedRef.current = true; }, [action, blockModel?.collection, formModel]); diff --git a/packages/plugins/@nocobase/plugin-block-grid-card/src/client/models/GridCardItemModel.tsx b/packages/plugins/@nocobase/plugin-block-grid-card/src/client/models/GridCardItemModel.tsx index ffba61a01e5..e8ffafd94fa 100644 --- a/packages/plugins/@nocobase/plugin-block-grid-card/src/client/models/GridCardItemModel.tsx +++ b/packages/plugins/@nocobase/plugin-block-grid-card/src/client/models/GridCardItemModel.tsx @@ -121,6 +121,7 @@ export class GridCardItemModel extends FlowModel { get: () => this.context.record, resolveOnServer: true, meta: recordMeta, + cache: false, }); return ( diff --git a/packages/plugins/@nocobase/plugin-block-list/src/client/models/ListItemModel.tsx b/packages/plugins/@nocobase/plugin-block-list/src/client/models/ListItemModel.tsx index cb00ec6295c..b2e3a18ac48 100644 --- a/packages/plugins/@nocobase/plugin-block-list/src/client/models/ListItemModel.tsx +++ b/packages/plugins/@nocobase/plugin-block-list/src/client/models/ListItemModel.tsx @@ -103,6 +103,7 @@ export class ListItemModel extends FlowModel { get: () => this.context.record, resolveOnServer: true, meta: recordMeta, + cache: false, }); return (