Руководство пользователя
Состояния (States)
Условный показ частей виджета: восемь операторов, связки AND/OR и вложенные группы.
🎛 Состояния (States)
Состояние — это именованное правило видимости. Оно показывает или скрывает всё внутри узла State в зависимости от данных. В одном виджете может быть несколько состояний, и работают они независимо.
1️⃣ Объявите состояние
На вкладке States добавьте состояние: имя и режим видимости.
- Всегда видно — отрисовывается всегда.
- Всегда скрыто — не отрисовывается никогда (удобно временно спрятать блок, не удаляя код).
- По условию — отрисовывается при выполнении условий.
2️⃣ Используйте в коде
<Card gap={3}>
<State name="offer">
<Title value={hotel.name} size="lg" />
<Button label="Забронировать" onClickAction={{ functionName: 'book_hotel' }} />
</State>
<State name="booked">
<Row align="center" gap={2}>
<Icon name="check-circle" color="success" />
<Text value="Бронирование подтверждено" />
</Row>
</State>
</Card>Когда book_hotel через set_variables устанавливает booked в true, первый блок исчезает, а второй появляется.
3️⃣ Условия
Каждое условие состоит из трёх частей: поле, оператор, значение.
equals— равноnot_equals— не равноcontains— содержитnot_contains— не содержитgreater_than— большеless_than— меньшеis_empty— пусто (значение не нужно)is_not_empty— не пусто
4️⃣ AND / OR и группы
- Связка (
AND/OR) выбирается начиная со второго условия — каждое условие само задаёт, как соединяется с предыдущим. - Условия можно объединять в группы, а группы вкладывать друг в друга.
status equals "active" AND role equals "admin"
OR
(plan equals "pro" AND seats greater_than 5)💡 Практические советы
- Давайте состояниям короткие понятные имена:
offer,booked,error,empty. - Для пустого списка заведите отдельное состояние:
orders.lengthequals0. - Ошибки тоже показывайте состоянием — записывайте переменную
errorвonFailureуcall_api. - На вкладке States каждая строка показывает свои условия одной строкой, например
booked = true.