【发布时间】:2021-08-01 04:10:39
【问题描述】:
我一定做错了什么,但是当我在 ReorderableListView 中重新排列选中的复选框时,它正在为未选中的磁贴设置动画:
这是我正在使用的示例代码:
ReorderableListView(
padding: const EdgeInsets.symmetric(horizontal: 40),
children: <Widget>[
for (int index = 0; index < _items.length; index++)
ListTile(
leading: Checkbox(
key: Key('$index'),
onChanged: (v) => null,
value: _items[index].isOdd ? true : false,
),
key: Key('$index'),
tileColor: _items[index].isOdd ? oddItemColor : evenItemColor,
title: Text('Item ${_items[index]}'),
),
],
onReorder: (int oldIndex, int newIndex) {
setState(() {
if (oldIndex < newIndex) {
newIndex -= 1;
}
final int item = _items.removeAt(oldIndex);
_items.insert(newIndex, item);
});
完整的code here!
我怎样才能正确地做到这一点? 干杯!
【问题讨论】:
-
我刚刚注意到,如果我使用 GlobalKey() 而不是 Key('$index') 它会保持 Checkbox 状态,但我仍然需要了解发生了什么
标签: flutter checkbox reorderable-list