Средство выбора города CityPickers на основе Flutter

Flutter

написать впереди

недавно следилflutter-goИсследование проектного обучения показало, что одноклассник внес предложение

@songshitongЕсть ли компонент выбора города для флаттера в стиле Android и iOS? похоже на это

Я просто смоделировал и реализовал его локально. Я обнаружил, что логическая часть кода относительно проста. Поэтому я просто инкапсулировал его в пакет.Dart PubНаверху приветствую всех, кто бросает кирпичи~

Эффект

На данный момент реализовано три

  • стиль ios, всплывающее окно внизу
  • android & ios полноэкранный трехуровневый селектор связи
  • Селектор на уровне города, поддерживающий сортировку и фильтрацию по буквам в правом меню.

Функции

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

инструкции

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

import 'package:city_pickers/city_pickers.dart';
...
show() async {
    Result result = await CityPickers.showCityPicker(
      context: context,
    );
    // type 2
    Result result2 = await CityPickers.showFullPageCityPicker(
      context: context,
    );
}

Статический метод CityPickers

Name Type Desc
showCityPicker Function Вызовите всплывающий слой и отобразите многоуровневый селектор
showFullPageCityPicker Function Вызов уровня интерфейса, отображение многоуровневого селектора
showCitiesSelector Function Облучение слоя, отображение вспомогательных букв, позиционирующих селекторы городов

Описание параметра showCityPicker

Name Type Default Desc
context BuildContext null объект контекста
theme ThemeData Theme.of(context) тема, настраиваемый
locationCode String 110000 Инициализировать адресную информацию, которая может быть кодом области провинции, города или района.
height double 300 Высота всплывающего слоя, слишком высокая или слишком низкая, приведет к тому, что контейнер сообщит об ошибке.
showType ShowType ShowType.pca Трехуровневая связь, тип отображения
barrierOpacity double 0.5 Поп-фон слой прозрачности должен быть больше 0 и менее 1
barrierDismissible bool true Можно ли закрыть всплывающий слой, щелкнув фон всплывающего слоя

Описание параметра showFullPageCityPicker

Name Type Default Desc
context BuildContext null объект контекста
theme ThemeData Theme.of(context) тема, настраиваемый
locationCode String 110000 Инициализировать адресную информацию, которая может быть кодом области провинции, города или района.
showType ShowType ShowType.pca Трехуровневая связь, тип отображения

Для конкретного использования, пожалуйста, обратитесь к локальному примеру запускаgit:city_pickers

what is flutter-go

flutter-go: Приложение помощи разработчикам flutter, включая демонстрации и документы на китайском языке более 140 компонентов, обычно используемых флаттером