Questo documento è stato tradotto dall'IA. Per informazioni accurate, consultare la versione inglese.
JS Field viene utilizzato per renderizzare contenuti personalizzati tramite JavaScript nella posizione del campo, comunemente nei blocchi di dettaglio, negli elementi di sola lettura dei moduli o come "altri elementi personalizzati" nelle colonne delle tabelle. È adatto per visualizzazioni personalizzate, combinazioni di informazioni derivate, badge di stato, testo formattato o grafici.

ctx.value per renderizzare l'output.ctx.getValue()/ctx.setValue(v) e l'evento del contenitore js-field:value-change, facilitando la sincronizzazione bidirezionale con i valori del modulo.Sola lettura
Modificabile
Il codice di runtime di JS Field può utilizzare direttamente le seguenti funzionalità del contesto:
ctx.element: contenitore DOM del campo (ElementProxy), supporta innerHTML, querySelector, addEventListener, ecc.;ctx.value: valore corrente del campo (sola lettura);ctx.record: oggetto del record corrente (sola lettura);ctx.collection: metadati della collezione a cui appartiene il campo (sola lettura);ctx.requireAsync(url): carica asincronamente una libreria AMD/UMD tramite URL;ctx.importAsync(url): importa dinamicamente un modulo ESM tramite URL;ctx.openView(options): apre una vista configurata (popup/drawer/pagina);ctx.i18n.t() / ctx.t(): internazionalizzazione;ctx.onRefReady(ctx.ref, cb): esegue il rendering dopo che il contenitore è 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: librerie integrate come React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js, utilizzate per il rendering JSX, la gestione del tempo, la manipolazione dei dati e i calcoli matematici. (ctx.React / ctx.ReactDOM / ctx.antd sono mantenuti per compatibilità.)ctx.render(vnode): renderizza un elemento React, una stringa HTML o un nodo DOM nel contenitore predefinito ctx.element; il rendering ripetuto riutilizzerà il Root e sovrascriverà il contenuto esistente del contenitore.Specifico per il tipo modificabile (JSEditableField):
ctx.getValue(): ottiene il valore corrente del modulo (priorità allo stato del modulo, poi ricade sulle props del campo).ctx.setValue(v): imposta il valore del modulo e le props del campo, mantenendo la sincronizzazione bidirezionale.js-field:value-change: attivato quando il valore esterno cambia, facilitando l'aggiornamento della visualizzazione dell'input da parte dello script.L'editor di script di JS Field supporta l'evidenziazione della sintassi, i suggerimenti di errore e i frammenti di codice (Snippets) integrati.
Snippets: apre l'elenco dei frammenti di codice integrati, che possono essere cercati e inseriti con un clic nella posizione corrente del cursore.Run: esegue direttamente il codice corrente, l'output del log di esecuzione viene visualizzato nel pannello Logs in basso, supporta console.log/info/warn/error e l'evidenziazione degli errori.
Può essere combinato con l'AI Employee per generare codice:
if (!lib) return;).class o [name=...], evitando l'uso di id fissi per prevenire duplicazioni di id in più blocchi o popup.