繁体   English   中英

我想在容器中显示过滤器列表,但它在 flutter 中作为新屏幕打开。 我该怎么做?

[英]I want to show filter list in a container but its opening as a new screen in flutter. how i can do it?

此代码正在运行,但我没有得到 output 作为想要的,我想在容器中显示此屏幕但它不工作。 它不是在容器中打开,而是直接作为不同的页面打开。

我在此代码中使用 flutter filter_list: ^1.0.2插件。

我想在同一页面的容器中显示这个搜索栏和一个列表。

建议我做一些我想做的事情。

List<SelectProjectData?> _selectProjectData = [];

openFilterDelegate() async {
    await FilterListDelegate.show<SelectProjectData?>(
      context: context,
      list:  _selectProjectData,
      selectedListData: _selectedProjectData,
      onItemSearch: (user, query) {
        return user!.projectName!.toLowerCase().contains(query.toLowerCase());
      },
      tileLabel: (user) => user!.projectName,
      emptySearchChild: const Center(child: Text('Data not found')),
      // enableOnlySingleSelection: true,
      searchFieldHint: 'Search Here..',
      onApplyButtonClick: (list) {
        setState(() {
          _selectedProjectData = list!;
        });
      },
    );
  }

尝试在列中调用它:- 在这里你可以找到代码

Container(
      margin: EdgeInsets.all(10),
      padding: EdgeInsets.all(20),
      color: AppColor.WHITE,

      child:
     
      Column(
        children: [
          openFilterDelegate(),
     
        ],
      ),
    );

最终结果是这样的:-

在此处输入图像描述

基于https://pub.dev/packages/filter_list ,您想使用FilterWidget而不是FilterDelegate FilterDelegate每次都会打开一个新的 window。 FilterWidget是一个小部件,您可以像任何其他小部件一样将其放入容器中。

Container(
      margin: EdgeInsets.all(10),
      padding: EdgeInsets.all(20),
      color: AppColor.WHITE,

      child:
     
      Column(
        children: [
          FilterWidget(
            <set up widget here>
          ),
        ],
      ),
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM