Skip to content

Feature ​

Условно рендерит свой слот по умолчанию, когда флаг (или целая группа) включён, с поведением в стиле v-if — содержимое вообще не рендерится, когда условие ложно, в отличие от v-feature.

vue
<!-- Базовый -->
<Feature name="newDashboard">
  <NewDashboard />
</Feature>

<!-- Слот fallback -->
<Feature name="betaSearch">
  <template #default><BetaSearchBar /></template>
  <template #fallback><LegacySearchBar /></template>
</Feature>

<!-- Проп fallback -->
<Feature name="betaSearch" fallback="Feature is under development">
  <BetaSearchBar />
</Feature>

<!-- Инвертированный — показывать, когда флаг выключен -->
<Feature name="maintenanceMode" :inverted="true">
  <MainContent />
</Feature>

<!-- Обернуть в HTML-элемент -->
<Feature name="newDashboard" tag="section">
  <NewDashboard />
</Feature>

<!-- Состояние загрузки, пока работает загрузчик -->
<Feature name="loaderFlag">
  <template #loading><Spinner /></template>
  <template #default><NewFeature /></template>
  <template #fallback><OldFeature /></template>
</Feature>

<!-- Группа — показывать, когда ВСЕ флаги в группе включены -->
<Feature group="beta">
  <BetaLabel />
</Feature>

Пропы ​

name ​

string · по умолчанию: —

Имя флага для проверки.

group ​

string · по умолчанию: —

Имя группы для проверки вместо одиночного флага — истинно, только когда включены все флаги в группе (настраивается через опцию groups). Если заданы и name, и group, group молча побеждает, а name игнорируется. Если не задано ни то, ни другое, компонент считается выключенным (рендерит fallback или ничего) и выводит console.warn в dev-режиме, указывая на ошибку конфигурации.

fallback ​

string | Component · по умолчанию: —

Что рендерить, когда флаг выключен, как проп-сокращение для слота fallback. Игнорируется, если также передан слот fallback — слот имеет приоритет.

inverted ​

boolean · по умолчанию: false

Рендерить, когда флаг равен false, а не true.

tag ​

string · по умолчанию: —

Обернуть отрендеренное содержимое в этот HTML-элемент. Без tag содержимое рендерится без обёртки.

Слоты ​

default ​

Содержимое, показываемое, когда флаг (или группа) включён.

fallback ​

Содержимое, показываемое, когда флаг (или группа) выключен. Имеет приоритет над пропом fallback, если заданы оба.

loading ​

Содержимое, показываемое, пока isLoading равно true (то есть пока асинхронный loader выполняется в первый раз).