ILLA home page
  1. Cascader

Un cascader è un tipo di componente di input che consente agli utenti di selezionare dati gerarchici, come una categoria o sottocategoria da un menu a discesa. Quando un utente seleziona un’opzione dal menu a discesa, il cascader si aggiornerà automaticamente per mostrare le relative sottocategorie o opzioni in un menu a discesa annidato.

Ad esempio, se si dispone di un componente di input cascader per selezionare una categoria di prodotto, il primo menu a discesa può mostrare tutte le categorie disponibili, come “Electronics”, “Abbigliamento” e “Libri”. Quando un utente seleziona “Electronics”, la cascata si aggiornerà per mostrare le sottocategorie di elettronica, come “Phones”, “Laptops”, e “Tablets”. Ciò consente agli utenti di navigare rapidamente e facilmente attraverso i dati gerarchici e selezionare l’opzione di cui hanno bisogno.

Proprietà

Proprietà disponibili di Cascader. JavaScript può essere scritto per leggere o modificare informazioni sui componenti.

ProprietàDescrizione
Sorgente DatiOgni opzione deve essere formato JSON e contenere due chiavi, valore ed etichetta. Utilizzando arrays, è possibile creare opzioni allo stesso livello. E le opzioni figlio possono essere create utilizzando l’attributo “children”.
Valore predefinitoIl valore iniziale del componente. È possibile modificare dinamicamente il valore iniziale digitando JavaScript in {{}}.
SegnapostoIl valore verrà mostrato quando il campo di input è vuoto.
EtichettaIl nome del campo visualizzato all’utente
DidascaliaUna didascalia utilizzata per descrivere in dettaglio il campo
Etichetta nascostaImposta se visualizzare l’etichetta
PosizioneImposta la posizione dell’etichetta rispetto al componente
AllineamentoImposta l’allineamento (allineare a sinistra o a destra) dell’etichetta
WidthQuando l’etichetta è sul lato sinistro del componente, impostare il rapporto di larghezza dell’etichetta.
Gestore EventiAttiva interrogazioni, componenti di controllo o chiama altre API in risposta a eventi di componenti.
DisabilitatoControlla lo stato se il componente è disabilitato. Il componente non può essere modificato o focalizzato quando è disabilitato.
Sola LetturaControllare lo stato se il componente è in sola lettura. Un componente di sola lettura può essere selezionato e messo a fuoco ma non può essere modificato.
Mostra pulsante cancellacontrollare se un pulsante chiaro è visualizzato nel campo di input
Metodo di espansioneImposta come si espande la cascader (facendo clic o hovering)
SuggerimentoGli utenti possono inserire il suggerimento del componente qui. Il suggerimento verrà mostrato quando è messo a fuoco. Il formato Markdown è supportato.
HiddenControllare dinamicamente se il componente è nascosto. È possibile modificare lo stato nascosto attraverso il valore booleano dinamico.

Metodi

È possibile utilizzare altri componenti per controllare il componente. Sosteniamo i due metodi seguenti:

  • setValue

Per impostare l’opzione selezionata, ad esempio, {{”value1”}}

ProprietàDescrizione
ValoreInput value
  • clearValue

Per cancellare il valore del componente selezionato

Esempio Di Utilizzo:

Il componente Cascader supporta l’ascolto dell’evento onChange di altri componenti utilizzando il sistema di eventi integrato. Impostalo seguendo questi passaggi di esempio:

  1. Aggiungi un trigger di evento al componente che vuoi ascoltare. Ad esempio, se vuoi ascoltare l’evento onChange di un componente di un gruppo radio, si aggiungerebbe un trigger di evento a quel componente di gruppo radio.
  2. Nel gestore degli eventi di Modifica, seleziona Componente di controllo in azione, seleziona il componente Cascader che vuoi aggiornare come obiettivo dell’evento.
  3. Scegli l’azione SetValue e seleziona il valore appropriato per il componente Cascader. Questo sarà il valore che il componente Cascader ha e verrà aggiornato quando l’evento viene attivato.
  4. Salva le impostazioni di attivazione dell’evento e ripeti il processo per qualsiasi altro componente che desideri ascoltare.

Dopo aver impostato i trigger dell’evento, il componente di ingresso Cascader si aggiornerà automaticamente ogni volta che l’evento onChange viene attivato sugli altri componenti. Questo consente di creare interfacce dinamiche che rispondono all’input dell’utente in tempo reale, rendendo più facile per gli utenti la navigazione e l’interazione con la tua applicazione.

Gestore eventi

EventoDescrizione
CambiaQuando un utente cambia il valore dell’opzione selezionata
FocusQuando un utente sposta il cursore del mouse sul componente cascader
BlurQuando un utente viene fatto selezionando le opzioni e terminando di concentrarsi sul componente cascader

Dati

Il componente ha alcuni dati comunemente usati, che possono essere chiamati tramite {{componentName.propertyName}} nell’app.

Nome proprietàDescrizione
dataSourceModela modalità della sorgente dati nella cascata (dinamica predefinita)
displayNameil nome di questo componente (ossia cascader1)
espandiTriggereventi di attivazione (clic)
valoreValore selezionato
etichettavalore dell’etichetta
labelAllineaallineamento dell’etichetta cascader (sinistra o destra)
labelPosizioneposizione dell’etichetta cascader (sinistra o destra)
labelWidthil numero intero che rappresenta la larghezza dell’etichetta
segnapostovalore segnaposto

Esempio: {{cascader1.value[0]}

Caso di utilizzo

Successivamente, dimostreremo come mappare i dati dalla sorgente dati alle opzioni nella cascader dinamicamente.

Passo 1 Aggiungere un'azione

Creiamo una tabella in Supabase chiamata project, e una sottotabella chiamata therapist allineata da project_id.

Quindi possiamo creare una nuova azione per Supabase dall’elenco delle azioni, elencando tutti i dati nel progetto e chiamato supabasedb1

SELECT [project.id](http://project.id/) as project_id, [therapist.name](http://therapist.name/) as therapist_name from therapist join project on therapist.project_id = [project.id](http://project.id/)

Fase 2 Trasforma i dati

Successivamente, possiamo enable la sezione transformer sotto la sezione Seleziona. All’interno dell’area di testo, possiamo catturare solo i valori e le etichette di cui abbiamo bisogno dai dati e trasformarli in opzioni cascader-friendly utilizzando JavaScript.

const transformedArray = data.reduce((acc, current) => {
  const existing = acc.find((item) => item.value === current. roject_id);
  if (existing) {
    const therapist = { value: current.therapist_id, label: current.therapist_name };
    existing. hildren.push(therapist);
  } else {
    const project = { value: current. roject_id, etichetta: current.project_name, children: [] };
    const therapist = { value: current.therapist_id, label: current.therapist_name };
    project.children. ush(therapist);
    acc.push(project);
  }
  return acc;
}, []);

return transformedArray;

L’azione finale deve essere visualizzata come

cascader 1

Clicca su Salva e Esegui per attivare questa azione.

Passo 3 Configura il componente

Dopo aver trascinato un componente cascader sulla tela, possiamo fare clic per configurare la sua sorgente dati in {{supabasedb1.data}}

Opzionale: qui abbiamo impostato un valore predefinito di {{['a', '1']}} per le corrispondenti {{['Psychotherapy'], ['James']}} etichette.

cascader 2