diff --git a/packages/core/docs/api/models/Field.md b/packages/core/docs/api/models/Field.md index 70dc58ea82c..9139c087c39 100644 --- a/packages/core/docs/api/models/Field.md +++ b/packages/core/docs/api/models/Field.md @@ -422,6 +422,34 @@ interface getState { IFieldState Reference [IFieldState](#ifieldstate) +### setData + +#### Description + +set field data + +#### Signature + +```ts +interface setData { + (data: any): void +} +``` + +### setContent + +#### Description + +set field content + +#### Signature + +```ts +interface setContent { + (content: any): void +} +``` + ### onInit #### Description diff --git a/packages/core/docs/api/models/Field.zh-CN.md b/packages/core/docs/api/models/Field.zh-CN.md index 472f397daa0..87645701182 100644 --- a/packages/core/docs/api/models/Field.zh-CN.md +++ b/packages/core/docs/api/models/Field.zh-CN.md @@ -422,6 +422,34 @@ interface getState { IFieldState 参考 [IFieldState](#ifieldstate) +### setData + +#### 描述 + +设置 Data 值 + +#### 签名 + +```ts +interface setData { + (data: any): void +} +``` + +### setContent + +#### 描述 + +设置 Content 值 + +#### 签名 + +```ts +interface setContent { + (content: any): void +} +``` + ### onInit #### 描述 diff --git a/packages/core/docs/api/models/VoidField.md b/packages/core/docs/api/models/VoidField.md index 4057bca0e79..d16a0998403 100644 --- a/packages/core/docs/api/models/VoidField.md +++ b/packages/core/docs/api/models/VoidField.md @@ -201,6 +201,34 @@ interface getState { IVoidFieldState Reference [IVoidFieldState](#ifieldstate) +### setData + +#### Description + +set field data + +#### Signature + +```ts +interface setData { + (data: any): void +} +``` + +### setContent + +#### Description + +set field content + +#### Signature + +```ts +interface setContent { + (content: any): void +} +``` + ### onInit #### Description diff --git a/packages/core/docs/api/models/VoidField.zh-CN.md b/packages/core/docs/api/models/VoidField.zh-CN.md index 31e3d6600ee..3bd6b6480bd 100644 --- a/packages/core/docs/api/models/VoidField.zh-CN.md +++ b/packages/core/docs/api/models/VoidField.zh-CN.md @@ -201,6 +201,34 @@ interface getState { IVoidFieldState 参考 [IVoidFieldState](#ifieldstate) +### setData + +#### 描述 + +设置 Data 值 + +#### 签名 + +```ts +interface setData { + (data: any): void +} +``` + +### setContent + +#### 描述 + +设置 Content 值 + +#### 签名 + +```ts +interface setContent { + (content: any): void +} +``` + ### onInit #### 描述 diff --git a/packages/core/src/__tests__/field.spec.ts b/packages/core/src/__tests__/field.spec.ts index 6974efd3fe2..57e63f51ef0 100644 --- a/packages/core/src/__tests__/field.spec.ts +++ b/packages/core/src/__tests__/field.spec.ts @@ -895,6 +895,33 @@ test('required/setRequired', () => { expect(dd.required).toBeTruthy() }) +test('setData/setContent', () => { + const form = attach(createForm()) + const aa = attach( + form.createField({ + name: 'aa', + required: true, + }) + ) + aa.setData('This is data') + aa.setContent('This is Content') + expect(aa.data).toEqual('This is data') + expect(aa.content).toEqual('This is Content') +}) + +test('setData/setContent in void field', () => { + const form = attach(createForm()) + const voidFeild = attach( + form.createVoidField({ + name: 'voidFeild', + }) + ) + voidFeild.setData('This is data') + voidFeild.setContent('This is Content') + expect(voidFeild.data).toEqual('This is data') + expect(voidFeild.content).toEqual('This is Content') +}) + test('setErrors/setWarnings/setSuccesses/setValidator', async () => { const form = attach(createForm()) const aa = attach( diff --git a/packages/core/src/models/BaseField.ts b/packages/core/src/models/BaseField.ts index c30375f23e0..e77bbf9d87b 100644 --- a/packages/core/src/models/BaseField.ts +++ b/packages/core/src/models/BaseField.ts @@ -236,6 +236,14 @@ export class BaseField { } } + setData = (data: any) => { + this.data = data + } + + setContent = (content: any) => { + this.content = content + } + onInit = () => { this.initialized = true initFieldUpdate(this as any) diff --git a/packages/core/src/models/Field.ts b/packages/core/src/models/Field.ts index e938aec6655..22acf102238 100644 --- a/packages/core/src/models/Field.ts +++ b/packages/core/src/models/Field.ts @@ -205,6 +205,8 @@ export class Field< setComponentProps: action, setDecorator: action, setDecoratorProps: action, + setData: action, + setContent: action, validate: action, reset: action, onInit: batch, diff --git a/packages/core/src/models/VoidField.ts b/packages/core/src/models/VoidField.ts index 1b17620f8f8..0345d9e0e73 100644 --- a/packages/core/src/models/VoidField.ts +++ b/packages/core/src/models/VoidField.ts @@ -97,6 +97,8 @@ export class VoidField< setComponentProps: action, setDecorator: action, setDecoratorProps: action, + setData: action, + setContent: action, onInit: batch, onMount: batch, onUnmount: batch,