Kaaviokomponentin ominaisuudet (kokeellinen)

Kaaviokomponenttien avulla tekijät voivat luoda erityyppisiä ominaisuuksia arvojen tai logiikan välittämiseksi komponentin ja komponenttia isännöivän sovelluksen välilllä. Ominaisuudet ovat olennainen osa vuorovaikutteisten ja uudelleenkäytettävien komponenttien luomista.

Tärkeä

Ominaisuuksien tyypit

Tekijöillä on neljän tyypin ominaisuuksia käytettävissä:

  1. Tieto-ominaisuudet: Tieto-ominaisuudet koskevat värin ja tekstiarvon kaltaisia tietoja. Tieto-ominaisuuden voi määrittää Syötteeksi tai Tulosteeksi, mikä ilmaisee, tarjoaako komponentti tietoja sovellukselle (Tuloste) vai tarjoaako sovellus tietoja komponentille(Syöte). Tieto-ominaisuudet ovat ainoat ominaisuudet, jotka osallistuvat sovelluksen tietojenkulkuun.
  2. Funktio-ominaisuudet: Funktio-ominaisuudet liittyvät logiikkaan, kuten tiettyihin parametreihin perustuvan laskutoimituksen tekemiseen tai tekstin muuttamiseen. Funktio-ominaisuuden voi määrittää Syötteeksi tai Tulosteeksi, mikä ilmaisee, tarjoaako komponentti kutsuttavan funktion sovellukselle (Tuloste) vai tarjoaako sovellus kutsuttavan funktion komponentille (Syöte). Funktio-ominaisuudet eivät osallistu sovelluksen tiedonkulkuun ja ne eivät voi käyttää komponentin tai sovelluksen muuttujia.
  3. Toiminto-ominaisuudet: Toiminto-ominaisuudet ovat ominaisuustyyppi, joka koskee logiikkaa ja toimii niin kuin tulosteen funktio. Komponentille on siten määritetty logiikka, ja tämä logiikka voi käyttää ketjutettuja lausekkeita ja käsitellä kokoelmia tai muuttujia ("toiminta"). Esimerkiksi Clear()-toiminto-ominaisuus voi tarjota toiminnan, jonka sovellus voi kutsua joidenkin arvojen tyhjentämiseksi komponentista tai Save()-toiminto-ominaisuuden, joka päivittää tietolähteen.
  4. Tapahtumaominaisuudet: Tapahtumaominaisuudet ovat ominaisuusluokka, johon liittyy logiikka ja funktiot syötteen funktiona. Sovellus siis määrittää logiikan, jonka komponentti voi kutsua, ja tämä logiikka voi käyttää ketjutettuja lausekkeita ja käsitellä kokoelmia tai muuttujia ("toiminta"). Tavallisesti näiden ominaisuuksien nimet kuvastavat tapahtumaa kuten OnSelect tai OnChanged.

Tieto-ominaisuus

Tieto-ominaisuuden käyttö on helppo hahmottaa. Sovellusten vakio-ohjausobjekteilla on yleensä useita tieto-ominaisuuksia, kuten oletusarvojen, tekstin värin ja koon määrittäminen. Seuraavassa yksinkertaisessa esimerkissä pyrimme saattamaan komponentin sisäiset ohjausobjektin ominaisuudet isännöivän sovelluksen käyttöön. Tässä esimerkissä komponentin nimi on Component1. Komponentin sisälle laitetaan liukusäätimen ohjausobjekti. Saamme syöteominaisuuden, joka määrittää värin käyttävästä sovelluksesta, ja tulosteominaisuuden, jossa komponentti voi kertoa sovellukselle, mikä liukusäätimen nykyinen arvo on. Seuraavassa esimerkissä oletetaan, että komponentti sisältää liukusäätimen ohjausobjektin nimeltä Slider.

  1. Valitse komponentin ominaisuusruudussa Uusi mukautettu ominaisuus.
  2. Syötä Uusi mukautettu ominaisuus -ruudussa näyttönimi Slider Color.
  3. Valitse Ominaisuuden tyyppi -kohdassa Tiedot ja valitse Ominaisuusmäärityksen arvo Syöte.
  4. Valitse lopuksi avattavasta Tietotyyppi-luettelosta Väri.
  5. Valitse Luo.

Valitse seuraavaksi Slider1, joka on liukusäätimen ohjausobjekti. Etsi sen ValueFill-ominaisuus ja syötä kaavariville Component1.SliderColor. Component1 viittaa komponentin nimeen, ja SliderColor on aiemmin lisäämämme ominaisuuden nimi.

Nyt komponentilla on SliderColor-ominaisuus, jonka voi määrittää käyttävässä sovelluksessa. Ominaisuus välittää värin komponenttiin ja määrittää liukusäätimen ValueFill-ominaisuuden.

Haluamme myös antaa liukusäätimen arvon käyttävälle sovellukselle. Tätä varten lisätään Tuloste-ominaisuus.

  1. Valitse komponentin ominaisuusruudussa Uusi mukautettu ominaisuus.
  2. Syötä Uusi mukautettu ominaisuus -ruudussa näyttönimi Slider Value.
  3. Valitse Ominaisuuden tyyppi -kohdassa Tiedot ja valitse Ominaisuusmäärityksen arvo Tuloste.
  4. Valitse lopuksi avattavasta Tietotyyppi-luettelosta Numero.
  5. Valitse Luo.

Kun Tieto-ominaisuus on Tuloste, komponentti tarjoaa arvon käyttävälle sovellukselle. Kaavan määrittämiseksi on määritettävä uusi SliderValue-ominaisuus komponenttiin liukusäätimen Value-ominaisuuteen.

  1. Valitse komponentin ominaisuusruudussa Slider Value -ominaisuus.
  2. Korvaa kaavarivillä oletusarvo 100 seuraavalla kaavalla: Slider1.Value.

Nyt komponentin SliderValue-ominaisuus kuvastaa komponentin sisällä olevaa liukusäätimen arvoa, ja käyttävä sovellus voi sitten lukea sen.

Funktio-ominaisuus

Funktio-ominaisuus sisältää lausekkeen, joka palauttaa arvon. Yleensä funktio käyttää joitakin argumentteja, joiden avulla se laskee tai määrittää palautettavan arvon.

Huomautus

Toiminto-ominaisuudet eivät tällä hetkellä voi käyttää muuttujia tai komponenttien arvoja ja ominaisuuksia. Ne eivät voi myöskään käynnistää tietojen työnkulkua. Pakolliset arvot on välitettävä argumentteina.

Tuloste-funktio on yksinkertainen tapa luoda mukautettu funktio Power Appsille. Komponentti määrittää Tuloste-funktion, jossa on lauseke. Lauseke ottaa tietyt argumentit ja palauttaa arvon. Tätä funktiota voi sitten käyttää sovelluksessa käyttämällä komponentin nimeä (esimerkiksi Component1), kutsumalla kohteen Component1.MyFunction(arg1, arg2).

Syöte-funktio on käyttävälle sovellukselle tapa tarjota logiikkaa komponentille. Vastaavia ovat funktio-osoitin tai takaisinkutsufunktio. Komponentti saattaa koskea esimerkiksi ihmisten nimiä ja sillä saattaa olla merkkijonoa vaativa syötefunktio, jossa on argumentit firstname ja lastname. Sovellus saattaa määrittää funktiolausekkeen, joka palauttaa tuloksen$"{firstname} {lastname}" tai se saattaa määrittää $"{lastname}, {firstname}" -lausekkeen. Komponentti voi kutsua funktion, jonka sovelluksen tekijä on antanut, ja käyttää palautettua merkkijonoa.

Toiminto-ominaisuus

Toiminto-ominaisuudet ovat samanlaisia kuin Tuloste-tyyppiset funktio-ominaisuudet, mutta ne sallivat sivuvaikutuskaavat ja lausekkeiden ketjutuksen. Komponentilla saattaa olla toiminto-ominaisuus nimeltä AddRecord, joka sallii sovelluksen lisätä tietueen kokoelmaan komponentin sisällä tai Reset-toiminto, joka tyhjentää komponentin sisäiset muuttujat tai kokoelmat.

Tieto-ominaisuuden liukusäädinesimerkissä voimme ottaa käyttöön toiminto-ominaisuuden nimeltä ResetValue, jonka avulla liukusäädin määritetään takaisin oletusarvoonsa. Tähän voidaan käyttää kaavaa Reset( Slider1 ). Sovelluksessa olevat komponentin esiintymät voivat nyt kutsua kohteen Component1.ResetValue(), jonka avulla liukusäädin määritetään takaisin oletusarvoonsa.

Tapahtumaominaisuus

Vakio-ohjausobjekteissa on paljon Tapahtuma-tyypin yleisiä ominaisuuksia, käytännössä syötefunktioiden ominaisuuksia. Painikkeen ohjausobjektin OnSelect on selkein esimerkki. Komponentti voi määrittää kuinka paljon tahansa tapahtumaominaisuuksia ja kutsua näitä tapahtumia funktion tapaan. Esimerkiksi komponentilla, jolla on painikkeen ohjausobjekti, voi olla tapahtumaominaisuus nimeltä OnButtonClicked. Painikkeen ohjausobjektin kohdassa OnSelect komponentti voi kutsua Component1.OnButtonClicked()-ominaisuutensa. Käyttävä sovellus voi sitten määrittää komponentin sisäisen painikkeen käyttämistä koskevan logiikkansa tälle ominaisuudelle.

Ominaisuuksien tai argumenttien oletusarvot

Oletusarvot voivat tarjota argumentin tai ominaisuuden oletusarvon siinä tapauksessa, ettei mitään ole määritetty. Joissain ominaisuustyypeissä tälle ei ole käyttöä. Joissakin tapauksissa niitä voidaan kuitenkin käyttää määritettäessä tietueelle odotettua rakennetta. Kun oletustietue tarjotaan, tietuetyyppi määritetään odotetuksi rakenteeksi.

Esimerkiksi Toiminto-ominaisuus nimeltä AddRecord hyväksyy tietueen lisäämisen paikalliseen kokoelmaan. Jotta odotetulle tietueelle voidaan tarjota rakenne, tekijän on lisättävä oletusarvo tälle AddRecord-ominaisuuden argumentille.