Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
O JS Field é usado para renderizar conteúdo personalizado com JavaScript na posição de um campo, comumente encontrado em blocos de detalhes, itens de formulário apenas de leitura ou como "outros itens personalizados" em colunas de tabela. É adequado para exibições personalizadas, combinação de informações derivadas, selos de status, texto rico ou renderização de gráficos.

ctx.value para renderizar a saída.ctx.getValue()/ctx.setValue(v) e o evento de contêiner js-field:value-change, facilitando a sincronização bidirecional com os valores do formulário.Apenas leitura
Editável
O código de tempo de execução do JS Field pode usar diretamente as seguintes capacidades de contexto:
ctx.element: Contêiner DOM do campo (ElementProxy), suporta innerHTML, querySelector, addEventListener, etc.;ctx.value: Valor atual do campo (apenas leitura);ctx.record: Objeto do registro atual (apenas leitura);ctx.collection: Metainformações da coleção à qual o campo pertence (apenas leitura);ctx.requireAsync(url): Carrega bibliotecas AMD/UMD assincronamente via URL;ctx.importAsync(url): Importa módulos ESM dinamicamente via URL;ctx.openView(options): Abre uma visualização configurada (janela pop-up/gaveta/página);ctx.i18n.t() / ctx.t(): Internacionalização;ctx.onRefReady(ctx.ref, cb): Renderiza após o contêiner estar pronto;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: Bibliotecas comuns integradas como React / ReactDOM / Ant Design / Ícones do Ant Design / dayjs / lodash / math.js / formula.js, usadas para renderização JSX, processamento de tempo, manipulação de dados e operações matemáticas. (ctx.React / ctx.ReactDOM / ctx.antd ainda são mantidos para compatibilidade.)ctx.render(vnode): Renderiza elementos React, strings HTML ou nós DOM no contêiner padrão ctx.element; renderizações repetidas reutilizarão o Root e sobrescreverão o conteúdo existente do contêiner.Específico para o tipo editável (JSEditableField):
ctx.getValue(): Obtém o valor atual do formulário (prioriza o estado do formulário, depois recorre às props do campo).ctx.setValue(v): Define o valor do formulário e as props do campo, mantendo a sincronização bidirecional.js-field:value-change: Acionado quando o valor externo muda, facilitando a atualização da exibição da entrada pelo script.O editor de script do JS Field suporta realce de sintaxe, dicas de erro e trechos de código integrados (Snippets).
Snippets: Abre a lista de trechos de código integrados, permitindo pesquisar e inserir na posição atual do cursor com um clique.Run: Executa o código atual diretamente, os logs de execução são exibidos no painel Logs na parte inferior, suportando console.log/info/warn/error e localização de erros com realce.
Pode ser combinado com o Funcionário de IA para gerar código:
if (!lib) return;).class ou [name=...] para seletores, evitando o uso de id fixo para prevenir duplicidade de id em múltiplos blocos ou janelas pop-up.