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

Переменная

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

переменная

В этом разделе мы рассмотрим различные типы переменных, доступных в FlutterFlow, включая:

  • Локальные переменные: Переменные, ограниченные определенным виджетом или страницей, используются для обработки данных в локализованном контексте. Например, переменные состояния страницы или переменные состояния компонента имеют область видимости сущности, в которой они были созданы.
  • Глобальные переменные: Переменные, к которым можно получить доступ и их изменить по всему приложению, обеспечивая последовательное управление данными по всем страницам. Например, глобальные переменные состояния приложения могут быть доступны из любой части приложения.
Что такое области видимости?

Область видимости переменной определяется местом ее создания. Например, если она создана на уровне приложения, ее можно получить доступ по всему приложению. Однако переменная, созданная на уровне страницы, может быть получена доступ только на этой странице.

Создание переменных

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

Именование переменной

Начните с того, что дайте переменной содержательное и описательное имя, отражающее ее назначение. Это имя будет использоваться во всем вашем приложении для ссылки на переменную, поэтому важно держать его понятным и согласованным с вашими соглашениями об именовании.

Рекомендуемая конвенция именования

Мы рекомендуем использовать конвенцию именования lowerCamelCase для переменных.

Назначение типа данных переменной

Затем необходимо выбрать подходящий тип данных для вашей переменной. FlutterFlow предлагает несколько типов данных, таких как Text, Integer, Boolean, или String. См. руководство Типы данных, чтобы узнать больше о доступных типах данных.

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

Свойство Is List

Включите переключатель Is List, чтобы указать, что это поле должно быть типа list.

Пример

Если выбран тип данных String и включен переключатель Is List, FlutterFlow создаст список переменных String. Этот список может содержать несколько строковых значений, например список названий городов.

Nullable & Начальное значение

При создании переменных в FlutterFlow у вас есть возможность сделать их nullable или non-nullable. Эта настройка критически важна, поскольку определяет, может ли переменная содержать пустое значение (т.е. ничего). Кроме того, вы также можете определить начальное значение для вашей переменной, что гарантирует, что она начнет с определенного значения сразу после создания.

variables-null-initial-value.png

  • Nullable: Эта опция определяет, может ли переменная содержать пустое значение, что означает, что она может существовать без данных. Если опция Nullable включена, переменная может начинаться как null и получать значение только при необходимости. Если отключить, переменной всегда должно быть присвоено значение, что означает, что вам нужно будет предоставить начальное значение при ее создании.

  • Initial Value: Если переменная является non-nullable (т.е. не может быть null), вам необходимо предоставить начальное значение, чтобы гарантировать, что у нее всегда есть данные. Для nullable переменных установка начального значения является необязательной, что позволяет им оставаться пустыми, пока им не присвоят значение.

Что такое пустое значение?

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

  • Ввод пользователя: Перед тем, как пользователь введет данные, переменная может начинаться как null и иметь значение только после того, как пользователь введет данные.
  • Условная логика: В случаях, когда определенные данные могут не всегда применяться (например, опциональная настройка пользователя), пустое значение позволяет более гибко обрабатывать отсутствие данных.
  • Состояния загрузки: При получении данных с сервера переменные могут быть пустыми до тех пор, пока данные не будут загружены, что позволяет легко различать между состояниями "загрузки" и "загружено".

Как создать переменные?

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

Задание переменной

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

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

set-variable-menu3.png

Манипуляция переменными

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

Например, вы можете:

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

Опции списка

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

Отобразить элементы списка

Опция Отобразить элементы списка позволяет подготовить список конкретных полей из типов данных, таких как Документы, Пользовательские типы данных и JSON. Например, если у вас есть список документов Firebase, содержащий поля, такие как имя, возраст и должность, вы можете специально создать список, содержащий только имена. Эта опция позволяет создавать настроенные списки из сложных структур данных.

Вот пример подготовки списка только названий кошек из документов Firebase (содержащих другие поля, такие как имя, возраст и порода) и их отображение в раскрывающемся списке.

Фильтровать элементы списка

Опция Фильтровать элементы списка позволяет создать список элементов на основе определенных критериев, генерируя подсписок элементов, которые соответствуют. Например, вы можете захотеть создать список пользователей старше определенного возраста из большой базы данных пользователей или, возможно, составить список продуктов в определенном ценовом диапазоне из обширного инвентаря.

Первые несколько элементов

Опция Первые несколько элементов извлекает начальные элементы списка до указанного числа.

first-few-items.png

Сортировка элементов списка

Если ваш список содержит "собственные типы данных" (типы данных, такие как числа или строки), мы можем автоматически сортировать эти элементы. У собственных типов данных есть "естественный порядок". Например, числа могут быть отсортированы численно (1, 2, 3, ...), а строки - лексикографически ("apple", "banana", "cherry", ...). Для такого списка задайте Ключ сортировки для элемента.

Вот пример отображения случайных имен в алфавитном порядке:

Реверс сортировка списка

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

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

Вот как можно отобразить список элементов (пользовательского типа данных «Товар») в порядке, отсортированных по цене.

Уникальные элементы списка

Эта опция помогает создать список с уникальными элементами, например, для извлечения отдельных категорий продуктов или уникальных имен клиентов из большого набора данных.

Вот пример отображения списка уникальных пород кошек:

Чтобы получить список уникальных элементов из списка пользовательского типа данных, сначала сопоставьте список элементов с полем, из которого вы хотите извлечь уникальные элементы. Например, если у вас есть список пользовательского типа данных с именем «Продукты», сопоставьте этот список со списком, содержащим все наименования продуктов. Затем извлеките уникальные элементы из этого списка.

Количество элементов

Выберите опцию Number of Items (Количество элементов), если хотите получить общее количество элементов в списке.

Элемент по индексу

Опция Item at Index позволяет получить доступ к конкретному элементу по его позиции в списке. Например, вы можете извлечь третий элемент из списка имен клиентов или выбрать пятый продукт в каталоге. Это особенно полезно в сценариях, где порядок элементов имеет значение, например, при получении последней записи в журнале с упорядочением по времени или если нужно выделить определенный элемент без фильтрации всего списка.

Is Set and Not Empty

Чтобы определить, присутствует ли значение в списке или он не пуст, выберите опцию Is Set And Not Empty. Например, это можно использовать для проверки, вернул ли запрос поиска какие-либо результаты, или для проверки того, что процесс сбора данных успешно захватил записи.

Обновление значений переменных

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

Обратитесь к следующим руководствам для получения подробных инструкций по обновлению и использованию этих переменных: