Перейти к основному содержимому

Условная логика

Условная логика — это фундаментальная концепция в программировании и разработке ПО. Она подразумевает принятие решений в коде на основе определенных условий. Для этого используются условные операторы, которые вычисляют выражения, чтобы определить, истинны они или ложны. В зависимости от результата выполняются различные действия или достигаются разные исходы.

Как работает условная логика

  • Условие: Выражение, которое вычисляется как истинное или ложное.
  • Путь истинности: Набор действий, выполняемых, если условие истинно.
  • Путь ложности: Набор действий, выполняемых, если условие ложно.

true-false.png

Условные потоки

Условные потоки расширяют базовую логику истинно-ложного типа, позволяя обрабатывать несколько условий и выполнять конкретные действия на основе этих условий. Это достигается с помощью более сложных потоков, таких как одиночные условия, множественные условия (с использованием AND/OR) и условные значения с логикой If/Then/Else.

Одиночное условие

Этот поток позволяет определить условие на основе сравнения двух значений, которые можно задать вручную или получить из переменных. Условие вернет значение True или False.

Операторы сравнения:

  • Equal To
  • Not Equal To
  • Less Than
  • Greater Than
  • Less Than Or Equal To
  • Greater Than Or Equal To
  • Is Set
  • Is Not Set

single-condition.png

Множественные условия (AND/OR)

Этот поток позволяет объединять несколько одиночных условий с помощью логических операторов AND или OR. Он полезен для более сложных процессов принятия решений.

multiple-condition.png

Условное значение (If/Then/Else)

Условное значение позволяет установить динамическую переменную на основе различных условий. Для каждого условия можно указать значение, которое будет присвоено, если условие истинно. Можно также задать значение по умолчанию, если ни одно из условий не выполнено.

См. пример ниже.

Установка свойств виджетов с помощью условной логики

FlutterFlow позволяет динамически устанавливать свойства виджетов на основе условной логики. В зависимости от ожидаемого типа данных свойства вы можете использовать комбинацию условных потоков, чтобы реализовать желаемую логику.

Вот пример, в котором мы используем условную логику для определения значения виджета Text:

Если состояние виджета placePicker установлено, то вернуть строку адреса placePicker. Иначе, если параметр компонента defaultAddress установлен и не пустой, то вернуть его как строку. В противном случае вернуть значение адреса по умолчанию.

Условные действия

Когда нужно выполнять действия на основе конкретных условий, это можно сделать в редакторе потоков действий. Объединяя простые одиночные условия или множественные условия, вы можете создавать сложные логические потоки. Эти условия настраиваются так же, как описано в разделе установки свойств, что позволяет вашим потокам действий следовать логике True/False или структурам If-Else, If-Else If-Else.

Вот краткая демонстрация простого потока действий с одиночным условием:

Вы можете легко преобразовать поток действий с одиночным условием в поток с множественными условиями, включив переключатель Multiple Conditions. Вот как это сделать: