Flutter Hive:deleteAt 使值变为 null 而不是删除它
Flutter Hive: deleteAt is making the value null instead of deleting it
假设我有一份图书清单。
使用 deleteAt
删除第 n 个索引处的书实际上并不是删除它并将第 (n+1) 个元素移动到它的位置,而是使它成为 null
。即第 n 个元素现在是 null
.
如何完美地表演deleteAt
?
顺便说一句,我在 ValueListenableBuilder
.
之外使用了 delete
ValueListenableBuilder(
valueListenable: Hive.box('books').listenable(),
builder: (context, box, _) {
if (box.values.length == 0)
return Center(
child: Text("No books"),
);
return ListView.builder(
primary: true,
padding: EdgeInsets.only(bottom: 95),
itemCount: box.values.length,
itemBuilder: (context, int index) {
Book book = box.get(index);
return Padding(
padding:
const EdgeInsets.only(bottom: kMasterPadding),
child: BookItem(
title: book.title,
author: book.authorName,
),
);
},
);
},
),
正在删除代码
() async {
await Hive.box("books").deleteAt(Hive.box("books").length - 2);
//deleted at last 2nd coz deleting at the end was working perfectly
},
您可以从列表中的 List<E>
运行 .removeAt(index)
中 remove an element。这也会将您的最后一个元素向左移动一个索引。
您可以尝试 Book book = box.getAt(index);
而不是 Book book = box.get(index);
https://github.com/hivedb/hive/issues/376
假设我有一份图书清单。
使用 deleteAt
删除第 n 个索引处的书实际上并不是删除它并将第 (n+1) 个元素移动到它的位置,而是使它成为 null
。即第 n 个元素现在是 null
.
如何完美地表演deleteAt
?
顺便说一句,我在 ValueListenableBuilder
.
ValueListenableBuilder(
valueListenable: Hive.box('books').listenable(),
builder: (context, box, _) {
if (box.values.length == 0)
return Center(
child: Text("No books"),
);
return ListView.builder(
primary: true,
padding: EdgeInsets.only(bottom: 95),
itemCount: box.values.length,
itemBuilder: (context, int index) {
Book book = box.get(index);
return Padding(
padding:
const EdgeInsets.only(bottom: kMasterPadding),
child: BookItem(
title: book.title,
author: book.authorName,
),
);
},
);
},
),
正在删除代码
() async {
await Hive.box("books").deleteAt(Hive.box("books").length - 2);
//deleted at last 2nd coz deleting at the end was working perfectly
},
您可以从列表中的 List<E>
运行 .removeAt(index)
中 remove an element。这也会将您的最后一个元素向左移动一个索引。
您可以尝试 Book book = box.getAt(index);
而不是 Book book = box.get(index);
https://github.com/hivedb/hive/issues/376