Właściwości komponentu kanwy (eksperymentalne)

Składniki kanwy umożliwiają twórcom tworzenie różnych typów właściwości w celu przekazywania wartości lub logiki między komponentem a aplikacją, która obsługuje składnik. Właściwości są istotną częścią tworzenia interaktywnych komponentów wielokrotnego użytku.

Ważne

Rodzaje właściwości

Istnieją cztery rodzaje nieruchomości dostępnych dla twórców:

  1. Właściwości danych: Właściwości danych odnoszą się do danych, takich jak kolor lub wartość tekstowa. Właściwość Dane może być ustawiona na Dane wejściowe lub Dane wyjściowe, co wskazuje, czy komponent dostarcza dane do aplikacji (Danych wyjściowych) lub aplikacja dostarcza dane do komponentu (Dane wejściowe). Właściwości Dane są jedynymi właściwościami, które uczestniczą w przepływie danych aplikacji.
  2. Właściwości funkcji: Właściwości funkcji są związane z logiką, taką jak wykonywanie obliczeń na podstawie określonych parametrów lub zmiana tekstu. Właściwość Funkcje może być ustawiona na Dane wejściowe lub Dane wyjściowe, która wskazuje, czy składnik udostępnia funkcję, którą aplikacja może wywołać (Dane wyjściowe), lub czy aplikacja udostępnia funkcję, którą składnik może wywołać (Dane wejściowe). Właściwości Funkcja nie uczestniczą w przepływie danych aplikacji i nie mogą używać zmiennych komponentów lub aplikacji.
  3. Właściwości akcji: Właściwości akcji to typ właściwości, który zajmuje się logiką i zachowuje się jak Dane wyjściowe Funkcja. W ten sposób komponent ma zdefiniowaną logikę, która może wykorzystywać wyrażenia łańcuchowe i manipulować kolekcjami lub zmiennymi ("zachowanie"). Na przykład właściwość działanie Clear() może zapewnić funkcjonalność, którą aplikacja może wywołać w celu wyczyszczenia niektórych wartości w komponencie, lub właściwość działanie Save(), która aktualizuje źródło danych.
  4. Właściwości zdarzeń: Właściwości zdarzeń to kategoria właściwości, która obejmuje logikę i działa jako Dane wejściowe Funkcja. W ten sposób aplikacja definiuje logikę, którą komponent może wywoływać, a logika ta może wykorzystywać wyrażenia łańcuchowe i manipulować kolekcjami lub zmiennymi ("zachowanie"). Zazwyczaj nazwy tych właściwości odzwierciedlają zdarzenia takie jak OnSelect lub OnChanged.

Właściwość danych

Wykorzystanie właściwości danych jest łatwe do wyobrażenia. Standardowe kontrolki w aplikacjach mają zwykle kilka właściwości danych, aby ustawić wartości domyślne, kolor tekstu, rozmiar itp. Przyjrzyjmy się prostemu przykładowi, w którym chcemy udostępnić właściwości kontrolki w komponencie aplikacji hostingowej. W tym przykładzie nasz składnik nosi nazwę Component1. Wewnątrz naszego komponentu umieścimy kontrolkę suwaka. Będziemy mieć właściwość Dane wejściowe do określenia koloru z aplikacji konsumującej oraz właściwość Dane wyjściowe, w której komponent może powiedzieć aplikacji, jaka jest aktualna wartość suwaka. Poniższy przykład zakłada, że komponent zawiera kontrolkę Suwak o nazwie Slider.

  1. W panelu właściwości komponentu wybierz Nowa właściwość niestandardowa.
  2. W panelu Nowa właściwość niestandardowa wprowadź nazwę wyświetlaną Slider Color.
  3. Wybierz Typ właściwości z Dane i wybierz Definicja właściwości wartość Dane wejściowe.
  4. Na koniec z listy rozwijanej Typ danych wybierz pozycję Kolor.
  5. Kliknij Utwórz.

Następnie wybierz kontrolkę Suwak Slider1. Znajdź jego właściwość ValueFill i na pasku formuły wpisz Component1.SliderColor. Component1 odnosi się do nazwy naszego komponentu, a SliderColor to nazwa właściwości, którą dodaliśmy wcześniej.

Teraz nasz komponent ma właściwość SliderColor, którą można ustawić w aplikacji konsumującej, aby przekazać kolor do komponentu w celu ustawienia właściwości ValueFill suwaka.

Chcemy również dostarczyć wartość suwaka do aplikacji konsumującej. Aby zrealizować to zrobić, zostanie do nas dodaniu właściwości Dane wyjściowe.

  1. W panelu właściwości komponentu wybierz Nowa właściwość niestandardowa.
  2. W panelu Nowa właściwość niestandardowa wprowadź nazwę wyświetlaną Slider Value.
  3. Wybierz Typ właściwości z Dane i wybierz Definicja właściwości wartość Dane wyjściowe.
  4. Na koniec z listy rozwijanej Typ danych wybierz pozycję Liczba.
  5. Kliknij Utwórz.

Gdy właściwość Dane jest Dane wyjściowe, składnik dostarcza wartość do aplikacji konsumującej. Aby ustawić formułę, musimy ustawić nową właściwość SliderValue w komponencie na właściwość Wartość suwaka.

  1. W panelu właściwości komponentu kliknij właściwość Slider Value.
  2. Na pasku formuły zastąp domyślną wartość 100 następującą formułą: Slider1.Value.

Teraz właściwość SliderValue naszego komponentu będzie odzwierciedlać wartość suwaka wewnątrz komponentu, którą można następnie odczytać z aplikacji konsumującej.

Właściwość funkcji

Właściwość funkcji zawiera wyrażenie, które zwraca wartość. Zazwyczaj funkcja przyjmuje pewne argumenty, których używa do obliczenia lub określenia wartości do zwrócenia.

Uwaga

Właściwości funkcji nie mogą obecnie uzyskiwać dostępu do zmiennych lub wartości i właściwości komponentów i nie mogą wyzwalać przepływu danych. Wszelkie wymagane wartości muszą zostać przekazane jako argumenty.

Funkcja Dane wyjściowe to prosty sposób na utworzenie niestandardowej funkcji dla Power Apps. Komponent definiuje funkcję Dane wyjściowe z wyrażeniem, które przyjmuje kilka argumentów i zwraca wartość. Funkcja ta może być następnie użyta w aplikacji przy użyciu nazwy składnik (powiedzmy Component1) poprzez wywołanie Component1.MyFunction(arg1, arg2).

Funkcja Dane wejściowe jest sposobem dla aplikacji konsumującej na dostarczenie logiki do komponentu, podobnej do wskaźnika funkcji lub funkcji zwrotnej. Na przykład, twój komponent może zajmować się imionami ludzi i mieć funkcję wejściową z argumentami firstname i lastname zwraca ciąg znaków. Aplikacja może zdefiniować wyrażenie funkcji zwracające $"{firstname} {lastname}" lub może zdefiniować wyrażenie dla $"{lastname}, {firstname}". Składnik może po prostu wywołać funkcję dostarczoną przez twórcę aplikacji i użyć zwróconego ciągu znaków.

Właściwość działania

Właściwości akcji są podobne do właściwości funkcji typu Dane wyjściowe, ale pozwalają na formuły efektów ubocznych i łańcuchowanie wyrażeń. Komponent może mieć właściwość akcji o nazwie AddRecord, która pozwala aplikacji dodać rekord do kolekcji wewnątrz komponentu, lub akcję Reset, która czyści zmienne lub kolekcje wewnątrz komponentu.

W przykładzie suwaka używanego dla właściwości Dane wcześniej, możemy wprowadzić właściwość akcji o nazwie ResetValue, aby ustawić suwak z powrotem do jego wartości domyślnej. W tym celu możemy użyć formuły Reset( Slider1 ). Teraz instancje naszego komponentu w aplikacji mogą wywołać Component1.ResetValue(), aby ustawić suwak z powrotem na wartość domyślną.

Właściwość zdarzenia

W standardowych kontrolkach istnieje wiele typowych właściwości typu Zdarzenie, czyli właściwości funkcji zachowania wejścia. OnSelect na kontrolce przycisku jest najbardziej oczywistym przykładem. Składnik może definiować dowolną liczbę właściwości zdarzeń i wywoływać te zdarzenia jak funkcje. Na przykład, składnik zawierający kontrolkę przycisku może mieć właściwość zdarzenia o nazwie OnButtonClicked. W kontrolce przycisku OnSelect komponent może wywołać swoją właściwość Component1.OnButtonClicked(). Aplikacja konsumująca może następnie zdefiniować własną logikę dla tej właściwości, aby działać po naciśnięciu przycisku wewnątrz komponentu.

Domyślne wartości właściwości lub argumentów

Wartości domyślne mogą zapewnić domyślną wartość dla argumentu lub właściwości w przypadku, gdy żadna nie jest ustawiona. Nie ma to sensu w przypadku niektórych rodzajów nieruchomości. Jednak w niektórych przypadkach mogą one być wykorzystane do zapewnienia oczekiwanego schematu rekordu. Dostarczając rekord domyślny, typ rekordu jest ustalany jako oczekiwany schemat.

Na przykład, właściwość Działania o nazwie AddRecord akceptuje rekord, który ma zostać dodany do lokalizacji kolekcji. Aby dostarczyć schemat oczekiwanego rekordu, twórca musi dodać domyślną wartość dla tego argumentu właściwości AddRecord.