openlang

Можно ли использовать общую функцию showModalBottomSheet на нескольких разных страницах flutter?

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

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Для общей showModalBottomSheet нужно передавать текущий context, например

    void openSharedSheet(BuildContext pageContext) {
        showModalBottomSheet(
            context: pageContext,
            builder: (sheetContext) {
                return Text("Shared bottomSheet");
            },
        );
    }

    Подробнее о showModalBottomSheet (https://api.flutter.dev/flutter/material/showModalBottomSheet.html)

    Переведено с английскогоПоказать оригинал
  2. Ссылка на ответ

    Да. Определите общую функцию showModalBottomSheet с параметром child для представления, которое хотите показать

    ///
    /// Open the shared modal sheet
    ///
    Future<R?> openSharedModal<R>({
        required BuildContext pageContext,
        required Widget content,
        bool? scrollControlled,
        ShapeBorder? borderShape,
        bool dismissible = true,
    }) {
        return showModalBottomSheet<R>(
            isDismissible: dismissible,
            context: pageContext,
            elevation: SheetSettings.elevation,
            barrierColor: SheetPalette.barrier,
            isScrollControlled: scrollControlled ?? true,
            enableDrag: true,
            backgroundColor: SheetPalette.modal.ofContext(_pageContext),
            shape: borderShape ?? SheetSettings.borderShape,
            builder: (BuildContext sheetContext) {
                return content;
            },
        );
    }
    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Как в Java Mail показывать текстовое имя отправителя вместо его настоящего адреса электронной почты

    Я отправляю сообщения через Java Mail API. После доставки во входящих отображается адрес отправителя. Хочу показывать вместо…

    Ответы 2Последняя активность java
  2. Доступ к Dynamics CRM из TypeScript

    Мой код CRM выполняется в веб-ресурсе, поэтому для получения данных сущности приходится писать чтобы обратиться к этим данным…

    Ответы 2Последняя активность typescript
  3. Какой формат даты нужен заголовку HTTP-ответа в Gleam?

    Я хочу отправлять заголовок Date. Требуемый формат выглядит следующим образом: Вот мой текущий вариант кода:

    Ответы 3Последняя активность gleam