Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
O modelo do bloco pai (instância de BlockModel) onde o campo JS / bloco JS atual está localizado. Em cenários como JSField, JSItem e JSColumn, ctx.blockModel aponta para o bloco de formulário ou bloco de tabela que contém a lógica JS atual. Em um JSBlock independente, ele pode ser null ou o mesmo que ctx.model.
| Cenário | Descrição |
|---|---|
| JSField | Acessa o form, a coleção e o recurso do bloco de formulário pai dentro de um campo de formulário para implementar vinculação ou validação. |
| JSItem | Acessa as informações de recurso e coleção do bloco de tabela/formulário pai dentro de um item de subtabela. |
| JSColumn | Acessa o resource (ex: getSelectedRows) e a coleção do bloco de tabela pai dentro de uma coluna de tabela. |
| Ações de Formulário / Fluxo de Eventos | Acessa o form para validação pré-envio, o resource para atualização, etc. |
Nota:
ctx.blockModelestá disponível apenas em contextos RunJS onde existe um bloco pai. Em JSBlocks independentes (sem um formulário/tabela pai), ele pode sernull. Recomenda-se realizar uma verificação de valor nulo antes do uso.
O tipo específico depende do tipo do bloco pai: blocos de formulário são geralmente FormBlockModel ou EditFormModel, enquanto blocos de tabela são geralmente TableBlockModel.
| Propriedade | Tipo | Descrição |
|---|---|---|
uid | string | Identificador único do modelo de bloco. |
collection | Collection | A coleção vinculada ao bloco atual. |
resource | Resource | A instância de recurso usada pelo bloco (SingleRecordResource / MultiRecordResource, etc.). |
form | FormInstance | Bloco de Formulário: Instância de formulário do Ant Design, suportando getFieldsValue, validateFields, setFieldsValue, etc. |
emitter | EventEmitter | Emissor de eventos, usado para ouvir formValuesChange, onFieldReset, etc. |
| Necessidade | Uso Recomendado |
|---|---|
| Bloco pai do JS atual | ctx.blockModel |
| Ler/escrever campos de formulário | ctx.form (equivalente a ctx.blockModel?.form, mais conveniente em blocos de formulário) |
| Modelo do contexto de execução atual | ctx.model (Modelo de campo em JSField, modelo de bloco em JSBlock) |
Em um JSField, ctx.model é o modelo do campo, e ctx.blockModel é o bloco de formulário ou tabela que contém esse campo; ctx.form é tipicamente ctx.blockModel.form.
ctx.blockModel pode ser null. Recomenda-se usar o encadeamento opcional (optional chaining) ao acessar suas propriedades: ctx.blockModel?.resource?.refresh?.().ctx.blockModel refere-se ao bloco de formulário ou tabela que contém o campo atual. Em um JSBlock, ele pode ser o próprio bloco ou um bloco de nível superior, dependendo da hierarquia real.resource existe apenas em blocos de dados; form existe apenas em blocos de formulário. Blocos de tabela geralmente não possuem um form.ctx.blockModel?.resource, use diretamente se disponível).