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

Ошибки пользовательских виджетов

Эта статья демонстрирует распространенные ошибки и проблемы, которые могут возникнуть при создании Custom Widget в FlutterFlow, а также шаги по их устранению. В этом примере используется Animated Text Widget.

URL проекта: Проект Animated Kit Widget

URL режима запуска: Режим запуска Animated Kit Widget

Предварительные требования
  • Пользовательский виджет добавлен в ваш проект.
  • Необходимые пакеты добавлены в Custom Code > Packages.
Лучшие практики перед созданием пользовательского виджета
  • Установите уникальное имя для пользовательского виджета в поле Side Widget в левой панели.
  • Начните с шаблона boilerplate-кода, предоставленного FlutterFlow. Скопируйте его и модифицируйте свой код на его основе.

Распространенные ошибки и их решения:

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

    Распространенная проблема — использование имени виджета, которое конфликтует с именем импортированного пакета.

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

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

  • Отсутствующие импорты пакетов в коде

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

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

    Вот как исправить эту проблему:

    • Посетите страницу пакета на pub.dev и найдите строку импорта в разделе деталей пакета.

    • Скопируйте и вставьте правильное заявление об импорте в код пользовательского виджета.


  • Отсутствующие косвенные зависимости

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

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

  • Несоответствие имени виджета между UI и кодом

    Несоответствие между именем виджета в FlutterFlow и именем класса в вашем коде приведет к ошибкам компиляции.

    Неправильный пример:

    Исправленная версия с совпадающими именами:

    Убедитесь, что имя виджета точно совпадает в обоих местах.

Следуя этим лучшим практикам и тщательно проверяя импорты пакетов, зависимости и имена виджетов, можно избежать большинства распространенных проблем с Custom Widgets в FlutterFlow.