void deleteTask(int index) { setState(() { db.toDoList.removeAt(index); }); db.updateDataBase(); }
这是什么删除功能看起来像我怎样才能使编辑功能为hive使用flutter的方式如上所述?请帮助
vltsax251#
使用Hive数据库,有一个get()、getAt()、put()、putAt()、delete()、deleteAt()方法,这些方法从它的official documentation得到了很好的记录。Hive是一个基于键-值的数据库,默认情况下没有update()方法,但是您可以只使用提供的方法(getAt()和putAt())来实现与相同的功能。考虑到我在5索引上存储了一个“stringText”值,正如我们所知道的,要从一个框中获取它,我们可以执行以下操作:
Hive
get()
getAt()
put()
putAt()
delete()
deleteAt()
update()
5
String valueFromTheBox = box.getAt(5); // "stringText"
为了获得和更新这个值,我们只需要给valueFromTheBox变量赋一个新值,然后使用putAt()将它再次放在同一个键上,如下所示:
valueFromTheBox
valueFromTheBox = "newValueTHatWillBePut"; box.putAt(5);
这将从字面上使一个更新方法,所以为了使一个完整的功能,实现,并根据你的情况我们可以做:
void updateTask(int index) { SetState(() { dynamic task = db.toDoList.getAt(index); // get previous task task = changeSomethingAndReturn(previousTask); // change/edit the task db.toDoList.putAt(index, task); // assign the task on same index }); db.updateDataBase(); }
您需要将changeSomethingAndReturn()方法替换为您的方法,该方法接受任务并对其进行更改,然后返回更改后的新方法。注意:我不建议使用动态类型,因为你的问题中没有提到它,我正在使用它,但是你应该指定它的类型,这样你就不会出错了。
changeSomethingAndReturn()
1条答案
按热度按时间vltsax251#
使用
Hive
数据库,有一个get()
、getAt()
、put()
、putAt()
、delete()
、deleteAt()
方法,这些方法从它的official documentation得到了很好的记录。Hive
是一个基于键-值的数据库,默认情况下没有update()
方法,但是您可以只使用提供的方法(getAt()
和putAt()
)来实现与相同的功能。考虑到我在
5
索引上存储了一个“stringText”值,正如我们所知道的,要从一个框中获取它,我们可以执行以下操作:为了获得和更新这个值,我们只需要给
valueFromTheBox
变量赋一个新值,然后使用putAt()
将它再次放在同一个键上,如下所示:这将从字面上使一个更新方法,所以为了使一个完整的功能,实现,并根据你的情况我们可以做:
您需要将
changeSomethingAndReturn()
方法替换为您的方法,该方法接受任务并对其进行更改,然后返回更改后的新方法。注意:我不建议使用动态类型,因为你的问题中没有提到它,我正在使用它,但是你应该指定它的类型,这样你就不会出错了。