用listview.builder中Flutter中对象的id替换项



我使用的是scrollable_positioned_list,如下所示https://pub.dev/packages/scrollable_positioned_list以在出现通知时滚动到特定项目。

默认情况下,构建器使用索引来标识要访问的索引,但出于我的目的,我需要使用ID作为标识符。

有可能替换这个吗:

itemScrollController.scrollTo(
index: 3,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut,
);

但是要获取列表中对象的ID?

试试这个:

var items = list.where((element) => element.id == 'ID');
if (items != null && items.isNotEmpty) {
var index = list.indexOf(items.first);
itemScrollController.scrollTo(
index: 3,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut,
);
}
var item = itemList .where((ele) => ele.id == 'YOUR_ID');
if (item != null && item.isNotEmpty) {
var itemIndex = list.indexOf(item.first);
itemScrollController.scrollTo(
index: itemIndex ,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut,
);
}

最新更新