Skip to content

transform does not work for showMaterialScrollPicker #33

Description

@blinddateapp1st

flutter_material_pickers: ^3.1.0

I'm using a transform parameter in my showMaterialScrollPicker function.
I expect to get a debug print message "transform" when building the picker dialog. but it looks like the transform function will not be called at all.

Future<T?> showPickerDialog<T>(
    BuildContext context,
    List<T> items,
    String transformString,
    void Function(T) onChange,
    T selected,
  ) {
    if (transformString.endsWith("."))
      transformString =
          transformString.substring(0, transformString.length - 1);
    return showMaterialScrollPicker(
      transformer: (e) => "$transformString.values.${items.indexOf(e)}".tr(),
      confirmText: LocaleKeys.standard_button_okay.tr(),
      cancelText: LocaleKeys.standard_button_cancel.tr(),
      context: context,
      title: "$transformString.title".tr(),
      items: items,
      onChanged: onChange,
      selectedItem: selected,
    );
  }

As List items i transform an enum to an array by passing "EnumName.values" this will then generate a List.

For my translation i use something like:

en:
"fruites.title": "Fruits",
"fruites.values.1": "Apple",
"fruites.values.2": "Banana",
"fruites.values.3": "Orange"
de:
"fruites.title": "Früchte",
"fruites.values.1": "Apfel",
"fruites.values.2": "Banane",
"fruites.values.3": "Orange"

Than i use an
enum Fruites { apple, banana, orange }

And than i try to get the translation according to the index in the enum.

Hint: I'm using easy_localization as translator plugin.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions