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 
截图
| 截图 | 截图 |
|---|---|
![]() |
![]() |
![]() |
![]() |




