Condividi tramite


Proprietà del componente canvas

I componenti canvas consentono agli autori di creare diversi tipi di proprietà per passare valori o logica tra il componente e l'app che ospita il componente. Le proprietà sono essenziali per la creazione di componenti interattivi e riutilizzabili.

Prerequisiti

Questa caratteristica è attiva per impostazione predefinita per le nuove app. Per le app esistenti, devi attivarla nelle impostazioni dell'app.

  1. Apri la tua app canvas per la modifica in Power Apps Studio. Nella barra dei comandi seleziona Impostazioni>Aggiornamenti.

  2. Nella scheda Nuovo, trova e attiva le impostazioni Proprietà componente avanzate.

Tipi di proprietà

Esistono quattro tipi di proprietà disponibili per gli autori.

  1. Proprietà dei dati: le proprietà dei dati riguardano i dati, come un colore o un valore di testo. Una proprietà Dati può essere impostata su Input o Output, che indica se il componente fornisce dati all'app (Output) o l'app fornisce dati al componente (Input). Le proprietà dati sono le uniche proprietà che partecipano al flusso di dati dell'app.
  2. Proprietà funzione: le proprietà della funzione sono correlate alla logica, come l'esecuzione di un calcolo basato su parametri specifici o la modifica del testo. Una proprietà Funzione può essere impostata su Input oppure Output, che indica se il componente fornisce una funzione che l'app può chiamare (Output) o fornisce una funzione che il componente può chiamare (Input). Le proprietà Funzione non partecipano al flusso di dati di un'app e non possono utilizzare variabili di componenti o app.
  3. Proprietà dell'azione: le proprietà dell'azione sono un tipo di proprietà che si occupa della logica e si comporta come una OutputFunzione. Pertanto, il componente ha la logica definita e tale logica può utilizzare espressioni concatenate e manipolare raccolte o variabili ("comportamento"). Ad esempio, una proprietà Clear()Action potrebbe fornire una funzionalità che l'app può chiamare per cancellare alcuni valori nel componente o una proprietà Save()Action che aggiorna un'origine dati.
  4. Proprietà eventi: le proprietà eventi sono una categoria di proprietà che coinvolge la logica e funziona come Funzione di Input. Pertanto, l'app definisce la logica che il componente può chiamare e tale logica può utilizzare espressioni concatenate e manipolare raccolte o variabili ("comportamento"). Generalmente i nomi di queste proprietà riflettono un evento come OnSelect o OnChanged.

Proprietà dati

L'utilizzo di una proprietà dei dati è facile da immaginare. I controlli standard nelle app in genere hanno diverse proprietà dei dati, per impostare valori predefiniti, colore del testo, dimensioni, ecc. Esaminiamo un semplice esempio in cui vuoi rendere disponibili all'app di hosting le proprietà di un controllo all'interno del componente. In questo esempio, il componente è denominato Component1. Inserisci un dispositivo di scorrimento all'interno del componente. Aggiungi una proprietà Input per specificare il colore dall'app che ne fa uso e una proprietà Output in modo che il componente possa indicare all'app il valore corrente del dispositivo di scorrimento. In questo esempio si presuppone che il componente disponga di un dispositivo di scorrimento denominato Slider.

  1. Nel riquadro della proprietà del componente, seleziona Nuova proprietà personalizzata.
  2. Nel riquadro Nuova proprietà personalizzata, inserisci il nome visualizzato Slider Color.
  3. Seleziona Tipo di proprietà di Dati e seleziona il valore Definizione di proprietàInput.
  4. Infine, dall'elenco a discesa Tipo di dati, seleziona Colore.
  5. Fai clic su Crea.

Successivamente, seleziona il controllo Slider1Dispositivo di scorrimento. Trova la sua proprietà ValueFill nella barra delle formule, inserisci Component1.SliderColor. Component1 è il nome del componente e SliderColor è il nome della proprietà aggiunta.

Ora il componente ha una proprietà SliderColor che può essere impostata nell'app di consumo per passare un colore al componente e impostare la proprietà ValueFill del dispositivo di scorrimento.

Puoi anche fornire il valore del dispositivo di scorrimento all'app che lo utilizza. Per farlo, aggiungi una proprietà Output.

  1. Nel riquadro della proprietà del componente, seleziona Nuova proprietà personalizzata.
  2. Nel riquadro Nuova proprietà personalizzata, inserisci il nome visualizzato Slider Value.
  3. Seleziona Tipo di proprietà di Dati e seleziona il valore Definizione di proprietàOutput.
  4. Infine, dall'elenco a discesa Tipo di dati, seleziona Numero.
  5. Fai clic su Crea.

Quando una proprietà Dati è Output, il componente fornisce il valore all'app di consumo. Per impostare la formula, imposta la nuova proprietà SliderValue nel componente sulla proprietà Value del dispositivo di scorrimento.

  1. Nel riquadro della proprietà del componente, fai clic sulla proprietà Slider Value.
  2. Nella barra delle formule, sostituisci il valore predefinito 100 con la seguente formula: Slider1.Value.

Ora la proprietà del componente SliderValue riflette il valore del dispositivo di scorrimento all'interno del componente, che l'app che la utilizza può leggere.

Proprietà funzione

Una proprietà funzione contiene un'espressione che restituisce un valore. In genere, la funzione accetta argomenti che usa per calcolare il valore da restituire.

Nota

Le proprietà funzione attualmente non possono accedere alle variabili o ai valori e alle proprietà dei componenti e non possono attivare il flusso dati. Tutti i valori richiesti devono essere passati come argomenti.

Una funzione Output è un modo semplice per creare una funzione personalizzata per Power Apps. Il componente definisce una funzione Output con un'espressione che accetta alcuni argomenti e restituisce un valore. Questa funzione può quindi essere utilizzata in un'app utilizzando il nome del componente (ad esempio Component1) chiamando Component1.MyFunction(arg1, arg2).

Una funzione Input consente a un'app che utilizza di fornire logica a un componente, in modo simile a un puntatore a funzione o a una funzione di callback. Ad esempio, se il componente funziona con i nomi delle persone, può avere una funzione di input con argomenti firstname e lastname e si aspetta una stringa come risultato. L'app può definire l'espressione di funzione da restituire $"{firstname} {lastname}" o $"{lastname}, {firstname}". Il componente chiama la funzione fornita dall'autore dell'app e usa la stringa restituita.

Proprietà azione

Le proprietà dell'azione sono analoghe alle proprietà della funzione di tipo Output, ma consentono formule con effetti collaterali e concatenamento di espressioni. Un componente può avere una proprietà dell'azione denominata AddRecord che consente all'app di aggiungere un record a una raccolta all'interno del componente o un'azione Reset che cancella variabili o raccolte all'interno del componente.

Nell'esempio precedente del dispositivo di scorrimento per la proprietà dati è possibile aggiungere una proprietà di azione chiamata ResetValue per riportare il dispositivo di scorrimento al valore predefinito. Usa la formula Reset( Slider1 ) per questo. A questo punto, le istanze del componente nell'app possono chiamare Component1.ResetValue() per riportare il dispositivo di scorrimento sul valore predefinito.

Proprietà evento

Molti controlli standard hanno proprietà comuni di tipo Evento, che sono proprietà della funzione di comportamento di input. Un esempio comune è OnSelect sul controllo del pulsante. Un componente può definire le proprietà degli eventi e chiamarli come una funzione. Ad esempio, un componente con un controllo pulsante può avere una proprietà evento denominata OnButtonClicked. Nella controllo pulsante OnSelect, il componente può chiamare la proprietà Component1.OnButtonClicked(). Un'app che utilizza può definire la propria logica affinché questa proprietà agisca quando viene premuto il pulsante all'interno del componente.

Valori predefiniti per proprietà o argomenti

I valori predefiniti assegnano un valore a un argomento o a una proprietà se non è impostato alcun valore. Questo non ha senso per alcuni tipi di proprietà. In alcuni casi, puoi usare i valori predefiniti per mostrare lo schema previsto per un record. Fornendo un record predefinito, imposti il tipo di record come schema previsto.

Ad esempio, una proprietà Azione denominata AddRecord accetta un record da aggiungere a una raccolta locale. Per mostrare lo schema del record previsto, aggiungi un valore predefinito per l'argomento della proprietà AddRecord.