Proprietà del componente canvas (sperimentale)

I componenti canvas consentono agli autori di creare diversi tipi di proprietà per trasmettere valori o logica tra il componente e l'app che lo ospita. Le proprietà sono una parte essenziale della creazione di componenti interattivi e riutilizzabili.

Importante

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 Output Funzione. Pertanto, il componente ha la logica definita e tale logica può utilizzare espressioni concatenate e manipolare raccolte o variabili ("comportamento"). Ad esempio, una proprietà Azione Clear() potrebbe fornire una funzionalità che l'app può chiamare per cancellare alcuni valori nel componente o una proprietà Action Save() 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. Diamo un'occhiata a un semplice esempio in cui desideriamo rendere disponibili all'app di hosting le proprietà di un controllo all'interno del componente. In questo esempio, il nostro componente si chiama Component1. Inseriremo un controllo dispositivo di scorrimento all'interno del nostro componente. Avremo una proprietà Input per specificare il colore dell'app di consumo e una proprietà Output dove il componente può dire all'app qual è il valore corrente del dispositivo di scorrimento. L'esempio seguente presuppone che il componente contenga un controllo 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 Dispositivo di scorrimento Slider1. Trova la sua proprietà ValueFill nella barra delle formule, inserisci Component1.SliderColor. Component1 si riferisce al nome del nostro componente e SliderColor è il nome della proprietà che abbiamo aggiunto in precedenza.

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

Desideriamo inoltre fornire il valore del dispositivo di scorrimento all'app di consumo. Per fare ciò, aggiungeremo 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 per questo, dobbiamo impostare la nuova proprietà SliderValue nel componente sulla proprietà Valore 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à SliderValue del nostro componente rifletterà il valore del dispositivo di scorrimento all'interno del componente, che può quindi essere letto dall'app di consumo.

Proprietà funzione

Una proprietà funzione contiene un'espressione che restituisce un valore. In genere, la funzione accetta alcuni argomenti che utilizza per calcolare o determinare 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 è un modo per un'app di consumo di fornire la logica a un componente, simile a un puntatore alla funzione o una funzione di callback. Ad esempio, il tuo componente potrebbe avere a che fare con i nomi delle persone e avere una funzione di input con argomenti firstname e lastname e rispetta una stringa indietro. L'app potrebbe definire l'espressione della funzione da restituire $"{firstname} {lastname}" oppure potrebbe scegliere di definire un'espressione per $"{lastname}, {firstname}". Il componente può semplicemente chiamare la funzione fornita dall'autore dell'app e utilizzare la stringa restituita.

Proprietà azione

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

Nell'esempio degli esempi di dispositivi di scorrimento utilizzati per il file Proprietà dati precedente, possiamo introdurre una proprietà azione chiamata ResetValue per riportare il dispositivo di scorrimento al suo valore predefinito. Possiamo usare la formula Reset( Slider1 ) per questo. Ora, le istanze del nostro componente nell'app possono chiamare Component1.ResetValue() per riportare il dispositivo di scorrimento al valore predefinito.

Proprietà evento

Ci sono molte proprietà Event-type, inserisci le proprietà della funzione di comportamento con efficacia nei controlli standard. OnSelect sul controllo del pulsante è l'esempio più ovvio. Un componente può definire qualsiasi numero di proprietà dell'evento e chiamare questi eventi come una funzione. Ad esempio, un componente che dispone di un controllo pulsante potrebbe avere una proprietà dell'evento denominata OnButtonClicked. Nella proprietà OnSelect del controllo del pulsante, il componente può chiamare la proprietà Component1.OnButtonClicked(). Un'app di consumo può quindi definire la propria logica per questa proprietà, in modo che agisca quando viene premuto il pulsante all'interno del componente.

Valori predefiniti per proprietà o argomenti

I valori predefiniti possono fornire un valore predefinito per un argomento o una proprietà nel caso in cui nessuno sia impostato. Questo non ha senso per alcuni tipi di proprietà. Tuttavia, in alcuni casi possono essere utilizzati per fornire uno schema previsto per un record. Fornendo un record predefinito, viene stabilito un tipo di record come schema previsto.

Ad esempio, una proprietà Azione denominata AddRecord accetta l'aggiunta di un record a una raccolta locale. Per fornire lo schema del record previsto, un autore deve aggiungere un valore predefinito per l'argomento di questa proprietà AddRecord.