empty_Widget

FilterList 是一个 Flutter 插件,旨在方便地过滤字符串列表中的数据。

入门

1.将库添加到pubspec.yaml


dependencies:
  filter_list: ^0.0.1

2.在dart文件中导入库

import 'import 'package:filter_list/filter_list.dart';';

3. 如何使用 FilterList

创建一个字符串列表

  List<String> countList = [
    "One",
    "Two",
    "Three",
    "Four",
    "Five",
    "Six",
    "Seven",
    "Eight",
    "Nine",
    "Ten"
  ];
  List<String> selectedCountList = [];

创建一个 _openFilterList 函数,该函数将在单击按钮时打开 filterList 弹出窗口

  void _openFilterList() async {
    var list = await showDialog(
      context: context,
      builder: (BuildContext context) {
        return Dialog(
          elevation: 0.0,
          backgroundColor: Colors.transparent,
          child: Container(
            decoration: BoxDecoration(
                borderRadius: BorderRadius.all(Radius.circular(40))),
            height: MediaQuery.of(context).size.height * .8,
            width: MediaQuery.of(context).size.width,
            child: FilterList(
              allTextList: countList,
              headlineText: "Select Count",
              searchFieldHintText: "Search Here",
              selectedTextList: selectedCountList,
            ),
          ),
        );
      },
    );
    if (list != null) {
      setState(() {
        selectedCountList = List.from(list);
      });
    }
  }

floatingActionButton 按下时调用 _openFilterList 函数

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: _openFilterList,
          tooltip: 'Increment',
          child: Icon(Icons.add),
        ),
        /// check for empty or null value selctedCountList
        body: selectedCountList == null || selectedCountList.length == 0
            ? Center(
                child: Text('No text selected'),
              )
            : ListView.separated(
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text(selectedCountList[index]),
                  );
                },
                separatorBuilder: (context, index) => Divider(),
                itemCount: selectedCountList.length));
  }

下载 App GitHub All Releases

截图

截图 截图
screenshot_1 screenshot_2
screenshot_3 screenshot_4

GitHub

https://github.com/TheAlphamerc/flutter_plugin_filter_list