Ошибки в собственных виджетах

Разберём частые ошибки на примере анимированного текстового виджета.

Проект: Animated Kit Widget · Run Mode

инфо
Что нужно заранее
  • Собственный виджет добавлен в проект.
  • Нужные пакеты подключены в Custom Code > Packages.
совет
Прежде чем писать код
  • Дайте виджету уникальное имя в поле Side Widget слева.
  • Начинайте с заготовки, которую генерирует FlutterFlow, и правьте её.

Имя виджета конфликтует с именем пакета

Не называйте виджет main, widget и подобными общими словами — они пересекаются с именами из подключённых пакетов.

Конфликт имени виджета с пакетом

Ошибка компиляции из-за конфликта имён

Забыт импорт пакета

Подключить пакет в зависимости мало — его нужно импортировать в коде виджета. Иначе будет:

The method 'AnimatedText' isn't defined...

Ошибка из-за отсутствующего импорта

Что делать: откройте страницу пакета на pub.dev, найдите строку импорта в описании и вставьте её в код виджета.

Строка импорта на странице пакета

Импорт добавлен в код виджета

Не хватает косвенных зависимостей

Пакет может тянуть за собой другие — их тоже нужно импортировать.

Ошибка из-за недостающей зависимости

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

Импорт зависимости пакета

Имя виджета не совпадает с именем класса

Имя в интерфейсе FlutterFlow и имя класса в коде должны быть одинаковыми.

Неверно:

Несовпадение имени виджета и класса

Верно:

Имена виджета и класса совпадают

перевод официальной документации FlutterFlow

обновлено

⌕ ESC