Oversigt over lærredskomponent

Bemærk

Komponenter er genanvendelige byggeblokke til lærredapps, så appudviklere kan oprette brugerdefinerede kontrolelementer, der kan bruges i en app eller på tværs af apps ved hjælp af et komponentbibliotek. Komponenter kan bruge avancerede funktioner, f.eks. brugerdefinerede egenskaber, og aktivere komplekse funktioner. I denne artikel beskrives begreber og eksempler i forbindelse med komponenter.

Komponenter er nyttige, når du skal oprette større apps, der har lignende styringsmønstre. Hvis du opdaterer en komponentdefinition i appen, afspejles ændringerne i alle forekomster i appen. Komponenter reducerer også duplikeringen af tiltag ved at fjerne behovet for at kopiere og indsætte kontrolelementer og forbedre ydeevnen. Komponenter fremmer også samarbejdet omkring udvikling og standardiserer udseende og brug i en organisation, når du bruger et komponent bibliotek.

Se denne video for at få mere at vide om, hvordan du bruger komponenter i lærredapps:

Komponenter i lærredapps

Du kan oprette en komponent fra en app som beskrevet i denne artikel eller ved at oprette en ny komponent i et komponent bibliotek. Et komponentbibliotek skal bruges til krav til brugen af komponenter på tværs af flere appskærmbilleder. Du kan også kopiere de eksisterende komponenter til et eksisterende eller nyt komponentbibliotek.

Hvis du vil oprette en komponent i en app, skal du gå til Trævisning, vælge fanen Komponenter og derefter vælge Ny komponent:

Opret en ny brugerdefineret komponent ved hjælp af trævisningen.

Hvis du vælger Ny komponent, åbnes et tomt lærred. Du kan tilføje kontrolelementer som en del af komponentdefinitionen på lærredet. Hvis du redigerer en komponent på lærredet, skal du opdatere forekomster af samme komponent på andre appskærmbilleder. Apps, der genbruger en allerede oprettet komponent, kan også modtage komponentopdateringer, efter du har udgivet komponentændringer.

Du kan vælge en komponent på listen over eksisterende komponenter i venstre rude, når du har valgt en skærm. Når du vælger en komponent, indsættes en forekomst af den pågældende komponent på skærmen på samme måde, som når du indsætter et kontrolelement.

Komponenter, der er tilgængelige i appen, vises under kategorien Brugerdefineret på en liste over komponenter i trævisningen. Komponenter, der er importeret fra komponentbiblioteker, er angivet under kategorien Bibliotekskomponenter:

Indsæt komponenter i appen.

Bemærk

Komponenter, der omtales i denne artikel, adskiller sig fra Power Apps component framework, der giver udviklere og producenter mulighed for at oprette kodekomponenter til modelbaserede apps og lærredapps. Du kan finde flere oplysninger ved at gå til Oversigt over Power Apps component framework.

Brugerdefinerede egenskaber

En komponent kan modtage inputværdier og sende data, hvis du opretter en eller flere brugerdefinerede egenskaber. Disse scenarier er avancerede og kræver, at du forstår formler og bindende kontrakter.

Bemærk

En eksperimentel funktion til forbedrede komponentegenskaber giver endnu flere muligheder for egenskaber, herunder funktioner og funktionsmåder. Du kan finde flere oplysninger under Egenskaber til lærredskomponenter (eksperimentel)

Input-egenskab er, hvordan en komponent modtager data, der skal bruges i komponenten. Input egenskaber vises under fanen Egenskaber i ruden til højre, hvis en forekomst af komponenten er valgt. Du kan konfigurere inputegenskaber med udtryk eller formler på samme måde, som du konfigurerer standardegenskaber i andre kontrolelementer. Andre kontrolelementer har inputegenskaber, f.eks. egenskaben Default for et kontrolelement af typen Tekstinput.

Output-egenskab bruges til at sende data eller komponenttilstande. Egenskaben Selected i et kontrolelement af typen Galleri er f.eks. en outputegenskab. Når du opretter en output-egenskab, kan du bestemme, hvilke andre kontrolelementer der kan referere til komponentens tilstand.

I det følgende gennemgås disse begreber yderligere.

Oprette et eksempel på en komponent

I dette eksempel skal du oprette en menukomponent, der ligner følgende grafik. Du kan også ændre teksten senere for at bruge den i flere skærmbilleder, apps eller begge:

Endeligt galleri.

Bemærk

Det anbefales, at du bruger et komponentbibliotek, når du opretter komponenter, der kan genbruges. Hvis du opdaterer komponenter i en app, bliver komponentopdateringerne i appen kun tilgængelige. Når du bruger et komponentbibliotek, bliver du bedt om at opdatere komponenterne, hvis komponenterne i et bibliotek opdateres og udgives.

Oprette en ny komponent

  1. Opret en tom lærredapp.

  2. Hvis du vil oprette en ny komponent, skal du gå til Trævisning, vælge Komponenter og derefter vælge Ny komponent:

    Opret en ny brugerdefineret komponent ved hjælp af trævisningen.

  3. Vælg den nye komponent i venstre rude, vælg ellipse (...), og vælg derefter Omdøb. Skriv eller indsæt navnet som MenuComponent.

  4. I ruden til højre skal du angive komponentens bredde som 150 og dens højde som 250 og derefter vælge Ny brugerdefineret egenskab. Du kan også angive højden og bredden til enhver anden værdi efter behov.

    Ny egenskab.

  5. Skriv eller indsæt tekst som Items i felterne Vis navn, Egenskabsnavn og Beskrivelse.

    Felter for visningsnavn, egenskabsnavn og beskrivelse.

    Undlad at medtage mellemrum i egenskabsnavnet, da du skal henvise til komponenten med dette navn, når du skriver en formel. F.eks. ComponentName.PropertyName.

    Vis navnet vises på fanen Egenskaber i ruden til højre, hvis du vælger komponenten. En beskrivende visningsnavn hjælper dig og andre virksomheder med at forstå formålet med denne egenskab. Beskrivelse vises på et værktøjstip, hvis du holder markøren over visningsnavnet for denne egenskab under fanen Egenskaber.

  6. På listen Datatype skal du vælge Tabel og derefter vælge Opret.

    Datatype for egenskaben.

    Egenskaben Items angives til en standardværdi på baggrund af den datatype, du har angivet. Du kan angive den til en værdi, der opfylder dine behov. Hvis du har angivet en datatype af typen Tabel eller Post, kan det være en god ide at ændre værdien for egenskaben Items, så den stemmer overens med det dataskema, som du vil angive for komponenten. I dette tilfælde skal du ændre den til en liste over strenge.

    Du kan angive egenskabens værdi på formellinjen, hvis du vælger egenskabens navn under fanen Egenskaber i ruden til højre.

    Brugerdefineret inputegenskab under fanen Egenskaber.

    Når det næste grafikelement vises, kan du også redigere egenskabens værdi under fanen Avanceret i ruden til højre.

  7. Indstil egenskaben Items for komponenten til denne formel:

    Table({Item:"SampleText"})
    

    Formel.

  8. Indsæt et tomt lodret kontrolelement af typen Galleri i komponenten, og vælg Layout på egenskabsruden som Titel.

  9. Sørg for, at egenskabslisten viser egenskaben Items (som standard). Og angiv derefter værdien for egenskaben til dette udtryk:

    MenuComponent.Items
    

    På denne måde læser egenskaben Items for kontrolelementet Galleri og er afhængig af inputegenskaben Items for komponenten.

  10. Du kan også angive egenskaben BorderThickness for kontrolelementet Galleri til 1 og dets egenskab TemplateSize til 50. Du kan også opdatere værdierne for kanttykkelse og skabelonstørrelse til andre værdier efter behov.

Føje en komponent til et skærmbillede

Derefter skal du føje komponenten til et skærmbillede og angive en tabel med strenge for den komponent, der skal vises.

  1. Markér listen over skærme i venstre rude, og vælg derefter standardskærmen.

    Standardskærm.

  2. Åbn menuen Komponenter under fanen Indsæt, og vælg derefter MenuComponent.

    Indsæt en komponent.

    Den nye komponent hedder MenuComponent_1 som standard.

  3. Indstil egenskaben Items for MenuComponent_1 til denne formel:

    Table({Item:"Home"}, {Item:"Admin"}, {Item:"About"}, {Item:"Help"})
    

    Denne forekomst minder om denne grafik, men du kan tilpasse teksten og andre egenskaber for de enkelte forekomster.

    Endeligt galleri.

Oprette og bruge outegenskab

Indtil nu har du oprettet en komponent og føjet den til en app. Derefter skal du oprette en outputegenskab, der afspejler det element, brugeren vælger i menuen.

  1. Åbn listen over komponenter, og vælg derefter MenuComponent.

  2. Vælg fanen Egenskaber i højre rude, og vælg derefter Ny brugerdefineret egenskab.

  3. Skriv eller indsæt Selected i felterne Vis navn, Egenskabsnavn og Beskrivelse.

  4. Vælg Output under Egenskabstype, og vælg derefter Opret.

    Egenskabstype som output.

  5. Angiv værdien for egenskaben Selected på fanen Avanceret til dette udtryk for at tilpasse nummeret i gallerinavnet, hvis det er nødvendigt:

    Gallery1.Selected.Item
    

    Ruden Avanceret.

  6. På standardskærmen i appen skal du tilføje en etiket og angive egenskaben Text til dette udtryk for at tilpasse nummeret i komponentnavnet, hvis det er nødvendigt:

    MenuComponent_1.Selected
    

    MenuComponent_1 er standardnavnet på en forekomst, ikke navnet på komponentdefinitionen. Du kan omdøbe enhver forekomst.

  7. Mens du holder Alt-tasten nede, skal du markere hvert element i menuen.

    Kontrolelementet Mærkat afspejler det menupunkt, du senest har valgt.

Område

Input- og outputegenskaber definerer klart grænsefladen mellem en komponent og værtsappen. Komponenten er som standard indkapslet, så det er nemmere at genbruge komponenten på tværs af apps og kræver, at egenskaberne bruges til at sende oplysningerne ind og ud af komponenten. Områdebegrænsninger er en enkel og sammenhængende datakontrakt for en komponent, og de er med til at muliggøre opdatering af komponentdefinitioner, især på tværs af apps med komponentbiblioteker.

Men der er tidspunkter, hvor en komponent måske vil dele en datakilde eller en variabel med sin vært. Især når komponenten kun er beregnet til brug i én bestemt app. I disse tilfælde kan du få direkte adgang til oplysninger på appniveau ved at slå parameteren for adgangsappens omfang til i egenskabsruden for komponenten:

Adgang til parameter for appomfang i egenskabsruden for komponenter

Når appens omfang er slået til, kan du få adgang til følgende fra en komponent:

  • Globale variabler
  • Samlinger
  • Kontrolelementer og komponenter på skærmbilleder, f.eks. et TextInput-objekt
  • Datakilder i tabelform, f.eks. Dataverse-tabeller

Når denne indstilling er slået fra, er ingen af ovenstående tilgængelige for komponenten. Set- og Collect-funktioner er stadig tilgængelige, men de resulterende variabler og samlinger er tilpasset komponentforekomsten og deles ikke med appen.

Datakilder i ikke-tabelform, f.eks. Azure Blob Storage eller en brugerdefineret tilslutning, er tilgængelige, uanset om denne indstilling er slået til eller fra. Tænk på disse datakilder mere som at referere til en miljøressource i stedet for en appressource. Når en komponent kommer ind i en app fra et komponentbibliotek, bliver disse datakilder fra miljøet også hentet ind.

Komponenter i et komponentbibliotek kan aldrig have adgang til appens omfang, da der ikke er et omfang af en enkelt app at referere til. Denne indstilling er derfor ikke tilgængelig i denne kontekst og er deaktiveret effektivt. Når kontakten er importeret i en app, og hvis tilpasningen var tilladt af komponentudvikleren, kan kontakten aktiveres, og komponenten kan ændres, så den bruger appens omfang.

Bemærk

  • Du kan indsætte forekomster af komponenter i et skærmbillede i et komponentbibliotek og få vist dette skærmbillede i forbindelse med test.
  • Komponentbiblioteket vises ikke, når du bruger Power Apps Mobile.

Importer og eksporter komponenter (udfaset)

Bemærk

Denne funktion er udgået. Komponentbiblioteker er den anbefalede metode til genbrug af komponenterne på på tværs af appene. Med et komponentbibliotek bevarer en app afhængigheder af de komponenter, den bruger. Appudvikleren får besked, når opdateringerne af de afhængige komponenter bliver tilgængelige. Derfor skal alle nye komponenter, der kan genbruges, oprettes i stedet for i komponentbibliotekerne.

Muligheden for at importere og eksportere komponenter er som standard deaktiveret, da denne funktion er udgået. Den anbefalede metode til at arbejde med komponenter er at bruge komponentbiblioteker, men du kan stadig aktivere denne funktion pr. app som en undtagelse, indtil funktionen er fjernet. Det kan du gøre ved at redigere din app i Power Apps Studio og derefter gå til Indstillinger > Kommende funktioner > Udgået > Angive Eksport- og importkomponenter til Til.

Aktivér eksport og import af komponenter.

Når du har aktiveret denne funktion, kan du bruge følgende funktioner til at importere og eksportere komponenter.

Importere komponenter fra en anden app

Hvis du vil importere en eller flere komponenter fra en app til en anden, skal du vælge Importér komponenter i menuen Indsæt og derefter bruge rullemenuen Brugerdefineret. Du kan også bruge Komponenter i trævisningen i venstre rude.

I en dialogboks vises alle de apps, der indeholder de komponenter, som du har tilladelse til at redigere. Vælg en app, og vælg derefter Importér for at importere den senest udgivne version af alle komponenter i den pågældende app. Når du har importeret mindst én komponent, kan du redigere kopien og slette de funktioner, du ikke har brug for.

Dialogboksen Importér komponenter.

Du kan gemme en app med eksisterende komponenter til en fil lokalt og derefter genbruge filen ved at importere den. Du kan bruge filen til at importere komponenter til en anden app.

Hvis appen indeholder en ændret version af den samme komponent, bliver du bedt om at beslutte, om du vil erstatte den ændrede version eller annullere importen.

Når du har oprettet komponenter i en app, kan andre apps bruge komponenterne fra denne app ved at importere dem.

Bemærk

Hvis en komponent, du har importeret fra en anden app, ændres i den oprindelige app, skal du manuelt importere komponenten igen i den app, der forbruger, for at modtage de seneste komponentændringer. Brug i stedet komponentbibliotekerne til at arbejde mere effektivt med komponentopdateringer.

Eksportere komponenter fra din app

Du kan eksportere komponenter til en fil og overføre dem til import til en anden app.

Vælg indstillingen Eksportér komponenter i sektionen Komponenter i trævisningen i venstre rude:

Trævisning for Eksportér komponenter.

Du kan også bruge menuen Indsæt og derefter vælge rullemenuen Brugerdefineret i stedet.

Menuen Indsæt for Eksportér komponenter.

Hvis du vælger Eksportér komponenter, overføres komponenterne til en fil:

Hent komponent.

Den hentede komponentfil bruger filtype navnet .msapp.

Importere komponenter fra eksporterede komponentfiler

Hvis du vil importere komponenter fra en eksporteret komponentfil, skal du vælge Importér komponenter i menuen Indsæt og derefter bruge den rullemenuen Brugerdefineret eller bruge Komponenter i trævisningen i venstre rude. Vælg Overfør fil i stedet for at vælge andre komponenter eller apps i dialogboksen for komponenter:

Importér komponentfil.

Find placeringen af komponentfilen i dialogboksen Åbn, og vælg Åbn for at importere komponenter i appen.

Importere komponenter fra en eksporteret app

Du kan gemme en app lokalt ved hjælp af indstillingen Filer > Gem som :

Gem app.

Når du har gemt appen, kan du genbruge komponenterne i denne app med samme metode, som du bruger til at importere komponenter fra en fil. Benyt fremgangsmåden i forrige afsnit om import af komponenter fra den eksporteret komponentfil.

Kendte begrænsninger

  • En brugerdefineret inputegenskab kan ikke konfigureres til en brugerdefineret outputegenskabsværdi på tværs af samme eller forskellige forekomster, når du har to eller flere forekomster af samme komponent i en app. Denne handling resulterer i en advarsel om cirkulær reference. Du kan løse problemet med denne begrænsning ved at oprette en kopi af komponenten i din app.
  • Tilføjelse og kørsel af Power Automate-flow i komponentbiblioteker understøttes ikke.
  • Du kan ikke gemme datakilder eller kontrolelementer, der indeholder data fra disse datakilder (f.eks. formularer, flydende gitre eller datatabeller) med komponenter.
  • Du kan ikke indsætte en komponent i et galleri eller en formular (herunder SharePoint-formular).
  • Komponenter understøtter ikke funktionen UpdateContext, men du kan oprette og opdatere variabler i en komponent ved hjælp af funktionen Set. Omfanget af disse variabler er begrænset til komponenten, men du kan få adgang til dem uden for komponenten via brugerdefinerede outputegenskaber.

Næste trin

Få mere at vide om, hvordan du bruger et komponentbibliotek til at oprette et lager med genanvendelige komponenter.

Se også

Bemærk

Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)

Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).