Споделяне чрез


Общ преглед на компонентите за платно

Бележка

Компонентите са строителни блокове за многократна употреба за приложения за платно, така че производителите на приложения могат да създават персонализирани контроли, които да се използват в приложението или в приложенията, използвайки библиотеката на компоненти. Компонентите могат да използват разширени функции като персонализирани свойства и да активират сложни възможности. Тази статия въвежда концепции за компоненти и някои примери.

Компонентите са полезни при изграждането на по-големи приложения, които имат подобни модели на управление. Ако актуализирате дефиниция на компонент вътре в приложението, всички инстанции в приложението отразяват промените ви. Компонентите също така намаляват дублирането на усилията, като премахват необходимостта от копиране / поставяне на контроли и подобряват производителността. Компонентите също така помагат за създаването на съвместно развитие и стандартизират облика и усещането в организацията, когато използвате компонентна библиотека.

Гледайте този видеоклип, за да научите как да използвате компоненти в приложения за платно:

Компоненти в приложения за платно

Можете да създадете компонент от приложение, както е обяснено в тази статия, или чрез създаване на нов компонент вътре в компонентна библиотека. Библиотеката на компонентите трябва да се използва за изисквания за използване на компоненти на множество екрани на приложения. Можете също да копирате съществуващите компоненти в съществуваща или нова библиотека с компоненти.

За да създадете компонент в приложение, отидете на Изглед на дърво, изберете Компоненти и след това изберете Нов компонент:

Създайте нов персонализиран компонент с помощта на дървовиден изглед.

Избирането на Нов компонент отваря празно платно. Можете да добавите контроли като част от дефиницията на компонента върху платното. Ако редактирате компонент в платното, ще актуализирате копия на същия компонент в други екрани на приложения. Приложенията, които използват повторно вече създаден компонент, също могат да получават актуализации на компоненти, след като публикувате промените на компонента.

Можете да изберете компонент от списъка със съществуващи компоненти в левия прозорец, след като изберете екран. Когато изберете компонент, вие поставяте екземпляр от този компонент на екрана, точно както вие поставяте контрола.

Компонентите, налични вътре в приложението, са изброени под категорията Персонализирано в списъка на компонентите в дървовидния изглед Компонентите, импортирани от библиотеки на компоненти, са изброени под категорията Компоненти на библиотеката:

Вмъкнете компоненти в приложението.

Бележка

Компонентите, разгледани в тази статия, е различна от тази на Power Apps component framework, която позволява на разработчиците и производителите да създават кодови компоненти за приложения, управлявани от модели, и за платна. За повече информация отидете на преглед на Power Apps component framework.

Персонализирани свойства

Компонентът може да получава входни стойности и да излъчва данни, ако създадете една или повече собствени свойства. Тези сценарии са напреднали и изискват да разберете формули и обвързващи договори.

Бележка

Експерименталната функция за подобрени свойства на компонентите предоставя още повече възможности за свойства, включително функции и функции за поведение. За повече информация вижте Свойства на компонента на платното (експериментално)

Входно свойство е как компонент получава данни, които да бъдат използвани в компонента. Входните свойства се появяват в раздела Свойства на десния панел, ако е избран екземпляр от компонента. Можете да конфигурирате входни свойства с изрази или формули, точно както конфигурирате стандартни свойства в други контроли. Други контроли имат входни свойства, като например свойството Default на контролата Въвеждане на текст.

Изходно свойство се използва за излъчване на данни или състояние на компонент. Например, свойството Избрани на контролата Галерия е изходно свойство. Когато създавате изходно свойство, можете да определите какви други контроли могат да се отнасят до състоянието на компонента.

Следващото разглеждане допълнително обяснява тези понятия.

Създайте примерен компонент

В този пример ще създадете компонент от менюто, наподобяващ следната графика. И можете да промените текста по-късно, за да го използвате в множество екрани, приложения или и двете:

Заключителна галерия.

Бележка

Препоръчваме ви да използвате компонентна библиотека при създаване на компоненти за повторна употреба. Актуализирането на компоненти само в приложението прави актуализациите на компонентите достъпни вътре в него. Когато използвате библиотека на компоненти, ще получите подкана да актуализирате компоненти, ако компонентите в библиотеката се актуализират и публикуват.

Създавайте нов компонент

  1. Създайте празно приложение за платно.

  2. В Изглед на дърво изберете Компоненти и след това изберете Нов компонент, за да създадете нов компонент.

    Създайте нов персонализиран компонент с помощта на дървовиден изглед.

  3. Изберете новия компонент в левия прозорец, изберете многоточието (...) и след това изберете Преименуване. Въведете или поставете името като MenuComponent.

  4. В десния панел задайте ширината на компонента като 150 и височината му като 250 и след това изберете Нов персонализирано свойство. Можете също така да зададете височината и ширината на всяка друга стойност, според случая.

    Ново свойство.

  5. В полетата Показване на име, Име на свойство и Описание въведете или поставете текст като Елементи.

    Показване на име, име на свойство, полета за описание.

    Не включвайте интервали в името на свойството, защото ще се позовавате на компонента с това име, когато пишете формула. Например ComponentName.PropertyName.

    Името за показване се появява на раздела Свойства на десния прозорец, ако изберете компонента. Описателно име за показване помага на вас и други производители да разберете целта на това свойство. Описание се показва в подсказка, ако задържите курсора на мишката върху показваното име на това свойство в раздела Свойства.

  6. В списъка Тип данни изберете Таблицаи след това изберете Създаване.

    Тип данни на свойството.

    Свойството елементи е зададено на стойност по подразбиране въз основа на типа данни, който сте посочили. Можете да го зададете на стойност, която отговаря на вашите нужди. Ако сте посочили тип данни на Таблица или Запис, може да искате да промените стойността на свойството Елементи да съответства на схемата с данни, която искате да въведете в компонента. В този случай ще го промените в списък с низове.

    Можете да зададете стойността на свойството в лентата с формули, ако изберете името на свойството в раздела Свойства на десния прозорец.

    Персонализирано свойство за въвеждане в раздела „Свойства”.

    Както показва следващата графика, можете също да редактирате стойността на свойството в раздела Разширени на десния прозорец.

  7. Задайте свойството Елементи на компонента на тази формула:

    Table({Item:"SampleText"})
    

    Формула.

  8. В компонента поставете празна вертикална контрола Галерия и изберете оформление в панела на свойството като Заглавие.

  9. Уверете се, че списъкът на свойствата показва свойството Елементи (както е по подразбиране). И след това задайте стойността на това свойство на този израз:

    MenuComponent.Items
    

    По този начин свойството Елементи на контролата Галерия чете и зависи от входното свойство Елементи на компонента.

  10. По избор - задайте контролата Галерия на свойството BorderThickness на 1 и неговото свойство TemplateSize на 50. Можете също така да актуализирате стойности за дебелина на рамката и размер на шаблона до всяка друга стойност, според случая.

Добавяне на компонент към екрана

След това ще добавите компонента към екран и ще определите таблица от низове за компонента, който да се показва.

  1. В левия прозорец изберете списъка с екрани и след това изберете екрана по подразбиране.

    Екран по подразбиране.

  2. В раздела Вмъкване отворете менюто Компоненти и след това изберете MenuComponent.

    Вмъкване на компонент.

    Новият компонент е кръстен MenuComponent_1 по подразбиране.

  3. Задайте свойството Елементи на MenuComponent_1 на тази формула:

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

    Този екземпляр наподобява тази графика, но можете да персонализирате текста и други свойства на всеки екземпляр.

    Заключителна галерия.

Създайте и използвайте изходното свойство

Досега сте създали компонент и сте го добавили в приложение. След това ще създадете изходно свойство, което отразява елемента, който потребителят избира в менюто.

  1. Отворете списъка с компоненти и след това изберете MenuComponent.

  2. В десния прозорец изберете Свойства и след това изберете Ново персонализирано свойство.

  3. В полетата Показване на име, Име на свойство и Описание въведете или поставете текст като Избрани.

  4. Под Тип свойство изберете Изход и след това изберете Създаване.

    Тип на свойството като изход.

  5. В раздела разширени задайте стойността на свойството Избрани на този израз, коригирайки числото в името на галерията, ако е необходимо:

    Gallery1.Selected.Item
    

    Разширен прозорец.

  6. На екрана по подразбиране на приложението добавете етикет и го задайте свойството Текст на този израз, коригирайки числото в името на компонента, ако е необходимо:

    MenuComponent_1.Selected
    

    MenuComponent_1 е името по подразбиране на екземпляр, а не името на дефиницията на компонента. Можете да преименувате всеки екземпляр.

  7. Докато държите клавиша Alt, изберете всеки елемент от менюто.

    Контролата Етикет отразява елемента от менюто, който сте избрали най-скоро.

Scope

Входните и изходните свойства ясно определят интерфейса между компонент и приложението хост. По подразбиране компонентът е капсулиран, така че е по-лесно да се използва повторно в приложения, което изисква използването на свойствата за подаване на информацията във и извън компонента. Ограниченията на обхвата запазват договора за данни на компонент прост и сплотен и помага за активиране на актуализациите за дефиниция на компонента, особено в приложения с библиотеки на компоненти.

Но има моменти, когато компонент може да иска да сподели източник на данни или променлива с хоста си. Особено когато компонентът е предназначен само за използване в едно конкретно приложение. За тези случаи можете да получите директен достъп до информацията на ниво приложение, като включите превключвателя Достъп до обхвата на приложението в прозореца със свойства на компонента:

Достъп до превключвателя за обхвата на приложението в прозореца със свойства на компонента

Когато е включено Достъп до обхвата на приложението следното е достъпно от компонента:

  • Глобални променливи
  • Колекции
  • Контроли и компоненти на екрани, като например контролата TextInput
  • Таблични източници на данни, като например таблици на Dataverse

Когато тази настройка е изключена, никой от горните не е достъпен за компонента. Функциите за задаване и събиране все още са налични, но получените променливи и колекции са с обхват до екземпляра на компонента и не се споделят с приложението.

Нетабличните източници на данни, като например хранилището за BLOB на Azure или персонализиран конектор, са налични независимо дали тази настройка е включена или изключена.Мислете за тези източници на данни по-скоро като за позоваване на ресурс на околната среда, а не на ресурс на приложение.Когато компонент се въвежда в приложение от библиотека с компоненти, тези източници на данни от околната среда също се въвеждат.

Компонентите в библиотеката с компоненти никога не могат да получат достъп до обхвата на приложението, тъй като няма единен обхват на приложението, към който да посочат. Така че тази настройка не е налична в този контекст и е ефективно изключена.След като бъде импортиран в приложение и ако персонализирането е разрешено от производителя на компоненти, превключвателят може да бъде разрешен и компонентът може да бъде променен, за да използва обхвата на приложението.

Бележка

  • Можете да вмъкнете екземпляри от компоненти в екран в библиотеката на компоненти и да ги прегледате за тестване.
  • Библиотеката с компоненти не се показва при използване на Power Apps Mobile.

Импортиране и експортиране на компоненти (отписани)

Бележка

Тази функция е отписана. Библиотеките на компонентите са препоръчителният начин за повторно използване на компоненти в приложенията. Когато използвате библиотека на компоненти, приложение поддържа зависимости от компонентите, които използва. Производителят на приложения ще бъде известяван, когато актуализациите на зависимите компоненти станат достъпни. Следователно, всички нови компоненти за многократна употреба трябва да бъдат създадени в рамките на библиотеките на компонентите.

Възможността за импортиране и експортиране на компоненти е забранена по подразбиране, тъй като тази функция е отписана. Докато препоръчителният метод за работа с компоненти е да се използват библиотеки с компоненти, все още можете да активирате тази функция за всяко приложение като изключение, докато функцията бъде премахната. За да направите това, редактирайте приложението в Power Apps Studio и след това отидете на Настройки > Предстоящи функции > Оттеглени > Задайте Експортиране и импортиране на компоненти на Вкл.

Разрешаване на експортиране и импортиране на компоненти.

След като активирате тази функция, можете да използвате следните възможности за импортиране и експортиране на компоненти.

Импортирайте компоненти от друго приложение

За да импортирате един или повече компоненти от едно приложение в друго, изберете Импортиране на компоненти от Вмъкване и след това използвайте Персонализирано падащо меню. Или използвайте Компоненти в дървовидния изглед в левия прозорец.

Диалогов прозорец изброява всички приложения, които съдържат компоненти, които имате разрешение за редактиране. Изберете приложение и след това изберете Импортиране, за да импортирате най-новата публикувана версия на всички компоненти в това приложение. След като импортирате поне един компонент, можете да редактирате своето копие и да изтриете всички, които не са ви необходими.

Импортиране на диалогов прозорец за компоненти.

Можете да запишете приложение със съществуващи компоненти във файл локално и след това да го използвате повторно, като го импортирате. Можете да използвате файла, за да импортирате компоненти в друго приложение.

Ако приложението съдържа модифицирана версия на същия компонент, ще бъдете подканени да решите дали да замените модифицираната версия или да анулирате импортирането.

След като създадете компоненти в приложение, други приложения могат да консумират компонентите от това приложение, като ги импортират.

Бележка

Ако компонент, който сте импортирали от друго приложение, е променен в оригиналното приложение, трябва ръчно да импортирате компонента отново в използващото приложение, за да получите последните промени на компонента. Вместо това използвайте библиотеки с компоненти, за да работите с актуализации на компоненти по-ефективно.

Експортирайте компоненти от приложението си

Можете да експортирате компоненти във файл и да ги изтеглите за импортиране в друго приложение.

Изберете опцията Експортиране на компоненти от раздела Компоненти в дървовидния изглед в левия прозорец:

Дървовиден изглед на експортиране на компоненти.

Можете също да използвате Вмъкване и след това изберете Персонализирано падащо меню вместо това.

Меню за вмъкване на експортиране на компоненти.

Избирането на Експортирайте компоненти изтегля компонентите във файл:

Изтегляне на компонент.

Изтегленият компонент файл използва .msapp разширение за име на файл

Импортирайте компоненти от експортирания файл с компоненти

За да импортирате компоненти от експортиран файл с компоненти, изберете Импортиране на компоненти от менюто Вмъкване и след това използвайте падащото меню Персонализация или използвайте Компоненти в дървовидния изглед в левия прозорец. От диалоговия прозорец за компоненти изберете Качи файл, вместо да избирате други компоненти или приложения:

Импортиране на файл на компонент.

От диалоговия прозорец Отворено, прегледайте местоположението на компонентния файл и изберете отворено, за да импортирате компоненти вътре в приложението.

Импортирайте компоненти от експортирано приложение

Можете да запазите приложение локално с помощта на Файл > Запиши като опция:

Записване на приложението.

След като запазите приложението, можете да използвате повторно компонентите на това приложение, използвайки същия метод за импортиране на компоненти от файл. Следвайте стъпките в предишния раздел за импортиране на компоненти от експортиран файл с компоненти.

Известни ограничения

  • Персонализирано входно свойство не може да бъде конфигурирано за персонализирана стойност на изходно свойство в едни и същи или различни екземпляри, когато имате два или повече екземпляра на един и същ компонент в приложение. Това действие ще доведе до предупредително съобщение за кръгова препратка. За да заобиколите това ограничение, можете да създадете копие на компонента в приложението си.
  • Добавяне и стартиране на Power Automate потоци в библиотеки с компоненти не се поддържа.
  • Не можете да записвате източници на данни или контроли, които включват данни от тези източници на данни (като формуляри, плавни мрежи или таблици с данни) с компоненти.
  • Не можете да вмъкнете компонент в галерия или формуляр (включително формуляр на SharePoint).
  • Компонентите не поддържат функцията UpdateContext, но можете да създадете и актуализирате променливи в компонент, като използвате функцията Задаване. Обхватът на тези променливи е ограничен до компонента, но можете да получите достъп до тях извън компонента чрез собствени изходни свойства.

Следващи стъпки

Научете се да използвате a компонентна библиотека за създаване на хранилище от компоненти за многократна употреба.

Вижте също

Бележка

Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)

Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).