1

我有一个过滤下拉菜单。我在另一页上有一个按钮。当我在另一个页面上单击此按钮时,如何返回到另一个页面上的下拉菜单的其他选项?

下拉页面

CustomDropdownButton<bool>(
        hintText: "Select Filter",
        value: controller.selectedFilter.value,
        items: [
          DropdownMenuItem<bool>(
            child: Text("Sales"),
            value: true,
          ),
          DropdownMenuItem<bool>(
            child: Text("Refunds"),
            value: false,
          )
        ],
        onChanged: (bool selectedFilter) {
          controller.selectedFilter.value = selectedFilter;
        },
      )

其他页面(按钮在这里,这个下拉菜单在另一个页面上)

Expanded(
              child: ElevatedButton(
                  onPressed: () {
                    // return dropdown other value (this dropdown on another page).
                  },
                  child: Text("Update")),
            )

谢谢,

4

1 回答 1

1

假设您正在导航到您的其他页面,ElevatedButton.onPressed您可以等待导航器

onPressed: () {
      // return dropdown other value (this dropdown on another page).
      final result = Navigator.of(context).push(...);
},

从你的CustomDropdownButton

onChanged: (bool selectedFilter) {
      controller.selectedFilter.value = selectedFilter;
      Navigator.of(context).pop(selectedFilter);
},

从官方食谱https://docs.flutter.dev/cookbook/navigation/returning-data中阅读更多相关信息

于 2022-03-04T08:28:50.237 回答