我试图在注销时删除所有内容。
onPressed: () {
_categoryBloc.deleteEntry();
}
Run Code Online (Sandbox Code Playgroud)
但是错误来了
未处理的异常:NoSuchMethodError:在 null 上调用了方法“deleteEntry”。E/flutter(9255):接收器:null E/flutter(9255):尝试调用:deleteEntry()
初始集团
CategoryBloc _categoryBloc;
Run Code Online (Sandbox Code Playgroud)
MyBloc 类
class CategoryBloc {
...
void deleteEntry() {
_categoryRepository.deleteCategory();
}
...
}
Run Code Online (Sandbox Code Playgroud)
我的回购课程
deleteCategory() async {
try{
await _categoryDao.deleteEntry();
}catch (e){
print('Caught in delete ${e.body}');
rethrow;
}
}
Run Code Online (Sandbox Code Playgroud)
道课
Future deleteEntry() {
return delete(categories).delete(Categorie());
}
Run Code Online (Sandbox Code Playgroud)
数据类
class Categorie extends DataClass implements Insertable<Categorie> {
final String id;
final bool isActive;
final String categoryName;
final int displayOrder;
Categorie(
{@required this.id,
@required this.isActive,
@required this.categoryName,
@required this.displayOrder});
factory Categorie.fromData(Map<String, dynamic> data, GeneratedDatabase db,
.....
Run Code Online (Sandbox Code Playgroud)
onPressed
像这样改变了方法
ProxyProvider<CategoriesRepository,CategoryBloc>(
builder: (context, categoryRepo, categoryBloc)=>
CategoryBloc(categoryRepository: categoryRepo),
dispose: (context, categoryBloc)=> categoryBloc.dispose(),
).didChangeDependencies(context, _categoryBloc).deleteEntry();
Run Code Online (Sandbox Code Playgroud)
并且如果你想删除所有你需要检查的查询,如下所示:
deleteEntry() {
try{
return delete(subCategories).go();//like this
}catch (e){
print("error is $e");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2087 次 |
最近记录: |