Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.form
A instância do Ant Design Form dentro do bloco atual, usada para ler/escrever campos de formulário, disparar validação e submissão. É equivalente a ctx.blockModel?.form e pode ser usada diretamente em blocos relacionados a formulários (Formulário, Formulário de Edição, Subformulário, etc.).
Casos de Uso
Nota:
ctx.formestá disponível apenas em contextos RunJS relacionados a blocos de formulário (Formulário, Formulário de Edição, Subformulário, etc.). Ele pode não existir em cenários que não sejam de formulário (como JSBlocks independentes ou blocos de Tabela). Recomenda-se realizar uma verificação de valor nulo antes do uso:ctx.form?.getFieldsValue().
Definição de Tipo
FormInstance é o tipo de instância do Ant Design Form. Os métodos comuns são os seguintes.
Métodos Comuns
Lendo Valores do Formulário
Escrevendo Valores no Formulário
Validação e Submissão
Redefinição (Reset)
Relação com Contextos Relacionados
ctx.getValue / ctx.setValue
Dentro do campo JS atual, priorize o uso de getValue/setValue para ler/escrever o próprio campo; use ctx.form quando precisar acessar outros campos.
ctx.blockModel
ctx.getVar('ctx.formValues')
Os valores do formulário devem ser obtidos via await ctx.getVar('ctx.formValues') e não são expostos diretamente como ctx.formValues. Em um contexto de formulário, é preferível usar ctx.form.getFieldsValue() para ler os valores mais recentes em tempo real.
Observações
getFieldsValue()retorna apenas campos renderizados por padrão. Para incluir campos não renderizados (ex: em seções colapsadas ou ocultos por regras condicionais), passetrue:getFieldsValue(true).- Caminhos para campos aninhados, como sub-tabelas, são arrays, ex:
['orders', 0, 'amount']. Você pode usarctx.namePathpara obter o caminho do campo atual e construir caminhos para outras colunas na mesma linha. validateFields()lança um objeto de erro contendoerrorFieldse outras informações. Se a validação falhar antes da submissão, você pode usarctx.exit()para interromper as etapas subsequentes.- Em cenários assíncronos, como fluxos de trabalho ou regras de vinculação, o
ctx.formpode ainda não estar pronto. Recomenda-se usar encadeamento opcional (optional chaining) ou verificações de nulo.
Exemplos
Vinculação de Campo: Exibir conteúdo diferente com base no tipo
Calcular campo atual com base em outros campos
Ler/Escrever outras colunas na mesma linha dentro de uma sub-tabela
Validação Pré-submissão
Submeter após Confirmação
Relacionados
- ctx.getValue() / ctx.setValue(): Ler e escrever o valor do campo atual.
- ctx.blockModel: Modelo do bloco pai;
ctx.formé equivalente actx.blockModel?.form. - ctx.modal: Diálogos de confirmação, frequentemente usados com
ctx.form.validateFields()ectx.form.submit(). - ctx.exit(): Interrompe o processo em caso de falha na validação ou cancelamento do usuário.
ctx.namePath: O caminho (array) do campo atual no formulário, usado para construir nomes paragetFieldValue/setFieldValueem campos aninhados.

