flutter写一个多选列表并选中删除
时间: 2023-06-02 07:04:40 浏览: 144
可以使用Flutter提供的ListView和CheckboxListTile组件来实现多选列表,可以在StatefulWidget的状态类中定义一个选中项的数组,然后在CheckboxListTile的onChanged回调中实现选中项的添加和删除操作。最后,使用ListView.builder来动态构建多选列表。以下是一个简单的示例代码:
```
import 'package:flutter/material.dart';
class MultiselectList extends StatefulWidget {
@override
_MultiselectListState createState() => _MultiselectListState();
}
class _MultiselectListState extends State<MultiselectList> {
List<String> items = ['Item 1', 'Item 2', 'Item 3', 'Item 4'];
List<String> selectedItems = [];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Multiselect List'),
),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return CheckboxListTile(
title: Text(items[index]),
value: selectedItems.contains(items[index]),
onChanged: (value) {
setState(() {
if (value) {
selectedItems.add(items[index]);
} else {
selectedItems.remove(items[index]);
}
});
},
);
},
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
items.removeWhere((item) => selectedItems.contains(item));
selectedItems.clear();
});
},
child: Icon(Icons.delete),
),
);
}
}
```
阅读全文