【发布时间】:2022-07-06 23:32:38
【问题描述】:
我有一个带有分页的职位列表。我需要用户能够选择一个位置并保存它。现在我有这样一个问题,当我在一个页面上打上复选标记并选择一个位置,然后转到第二个,那么这个复选标记就保存在同一个地方。当你把它放在一个位置并浏览页面时,它在同一个位置。如何解决这个问题?(照片显示了翻页时的工作原理示例)。
int? _selectedPosition;
child: ListView.separated(
shrinkWrap: true,
itemCount: _positionsList?.length ?? 0,
itemBuilder: (context, index) {
return ListTile(
trailing: _checkPosition(index)
? Image.asset(
Assets.assetsCheckmark,
width: 13,
height: 10,
)
: const SizedBox.shrink(),
title: Text(_positionsList![index].name ?? ''),
onTap: () => _selectPosition(index),
);
},
separatorBuilder: (context, index) {
return const Divider();
},
),
void _selectPosition(int index) {
if (_selectedPosition != index) {
setState(() {
_selectedPosition = index;
});
} else {
setState(() {
_selectedPosition = null;
});
}
}
bool _checkPosition(int index) {
return _selectedPosition == index ? true : false;
}
【问题讨论】: