Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
A instância do campo da coleção (CollectionField) associada ao contexto de execução atual do RunJS, usada para acessar metadados do campo, tipos, regras de validação e informações de associação. Existe apenas quando o campo está vinculado a uma definição de coleção; campos personalizados/virtuais podem ser null.
| Cenário | Descrição |
|---|---|
| JSField | Realizar vinculação ou validação em campos de formulário com base em interface, enum, targetCollection, etc. |
| JSItem | Acessar metadados do campo correspondente à coluna atual em itens de sub-tabelas. |
| JSColumn | Selecionar métodos de renderização com base em collectionField.interface ou acessar targetCollection em colunas de tabela. |
Nota:
ctx.collectionFieldestá disponível apenas quando o campo está vinculado a uma definição de Coleção; geralmente éundefinedem cenários como blocos independentes JSBlock ou eventos de ação sem vínculo de campo. Recomenda-se verificar valores nulos antes do uso.
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome do campo (ex: status, userId) |
title | string | Título do campo (incluindo internacionalização) |
type | string | Tipo de dado do campo (string, integer, belongsTo, etc.) |
interface | string | Tipo de interface do campo (input, select, m2o, o2m, m2m, etc.) |
collection | Collection | A coleção à qual o campo pertence |
targetCollection | Collection | A coleção de destino do campo de associação (apenas para tipos de associação) |
target | string | Nome da coleção de destino (para campos de associação) |
enum | array | Opções de enumeração (select, radio, etc.) |
defaultValue | any | Valor padrão |
collectionName | string | Nome da coleção à qual pertence |
foreignKey | string | Nome do campo da chave estrangeira (belongsTo, etc.) |
sourceKey | string | Chave de origem da associação (hasMany, etc.) |
targetKey | string | Chave de destino da associação |
fullpath | string | Caminho completo (ex: main.users.status), usado para API ou referências de variáveis |
resourceName | string | Nome do recurso (ex: users.status) |
readonly | boolean | Se é apenas leitura |
titleable | boolean | Se pode ser exibido como um título |
validation | object | Configuração de regras de validação |
uiSchema | object | Configuração de UI |
targetCollectionTitleField | CollectionField | O campo de título da coleção de destino (para campos de associação) |
| Método | Descrição |
|---|---|
isAssociationField(): boolean | Se é um campo de associação (belongsTo, hasMany, hasOne, belongsToMany, etc.) |
isRelationshipField(): boolean | Se é um campo de relacionamento (incluindo o2o, m2o, o2m, m2m, etc.) |
getComponentProps(): object | Obtém as props padrão do componente do campo |
getFields(): CollectionField[] | Obtém a lista de campos da coleção de destino (apenas campos de associação) |
getFilterOperators(): object[] | Obtém os operadores de filtro suportados por este campo (ex: $eq, $ne, etc.) |
| Necessidade | Uso Recomendado |
|---|---|
| Coleção do campo atual | ctx.collectionField?.collection ou ctx.collection |
| Metadados do campo (nome, tipo, interface, enum, etc.) | ctx.collectionField |
| Coleção de destino | ctx.collectionField?.targetCollection |
ctx.collection geralmente representa a coleção vinculada ao bloco atual; ctx.collectionField representa a definição do campo atual na coleção. Em cenários como sub-tabelas ou campos de associação, os dois podem ser diferentes.
ctx.collectionField geralmente é undefined. Recomenda-se usar encadeamento opcional (optional chaining) antes do acesso.ctx.collectionField pode ser null.targetCollection existe apenas para campos do tipo associação (ex: m2o, o2m, m2m); enum existe apenas para campos com opções como select ou radioGroup.