Aviso de tradução por IA
Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.setValue()
Define o valor do campo atual em cenários de campos editáveis, como JSField e JSItem. Combinado com ctx.getValue(), permite a vinculação bidirecional (two-way binding) com o formulário.
Cenários de uso
Nota:
ctx.setValue(v)está disponível apenas em contextos RunJS com vinculação de formulário. Ele não está disponível em cenários sem vinculação de campo, como fluxos de trabalho, regras de ligação ou JSBlock. Recomenda-se o uso de encadeamento opcional (optional chaining) antes do uso:ctx.setValue?.(value).
Definição de tipo
- Parâmetros:
valueé o valor do campo a ser gravado. O tipo é determinado pelo tipo de item de formulário do campo.
Comportamento
ctx.setValue(v)atualiza o valor do campo atual no Ant Design Form e aciona a lógica de ligação e validação do formulário relacionada.- Se o formulário ainda não terminou de renderizar ou o campo não estiver registrado, a chamada pode ser ineficaz. Recomenda-se usar
ctx.getValue()para confirmar o resultado da gravação.
Exemplos
Vinculação bidirecional com getValue
Definindo valores padrão com base em condições
Gravando de volta no campo atual quando vinculado a outros campos
Observações
- Em campos não editáveis (ex: JSField em modo de leitura, JSBlock),
ctx.setValuepode serundefined. Recomenda-se usarctx.setValue?.(value)para evitar erros. - Ao definir valores para campos de associação (M2O, O2M, etc.), você precisa passar uma estrutura que corresponda ao tipo do campo (ex:
{ id, [titleField]: label }), dependendo da configuração específica do campo.
Relacionados
- ctx.getValue() - Obtém o valor do campo atual, usado com setValue para vinculação bidirecional.
- ctx.form - Instância do Ant Design Form, usada para ler ou escrever em outros campos.
js-field:value-change- Um evento de contêiner acionado quando um valor externo é alterado, usado para atualizar a exibição.

