Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 为什么不是';调用initState时重新填充的变量?_Flutter - Fatal编程技术网

Flutter 为什么不是';调用initState时重新填充的变量?

Flutter 为什么不是';调用initState时重新填充的变量?,flutter,Flutter,我试图用注释列表填充搜索,我从数据库中获取。 数据库调用是在initState中进行的,因此有注释供searchDelegate实例化 问题 搜索关闭时,不会再次调用initState。这会导致错误的搜索结果 它不应该显示已删除的条目,以及如何反应性地删除该条目(可能是提供程序) 以下是问题的视频: 目录的树结构: 。 ├── 主飞镖 ├── 模型 │   └── 注:省道 ├── 屏风 │   ├── 另一个屏幕 │   ├── 注意细节。省道 │   ├── 注释\u list.dart │

我试图用注释列表填充搜索,我从数据库中获取。 数据库调用是在
initState
中进行的,因此有注释供searchDelegate实例化

问题
  • 搜索关闭时,不会再次调用
    initState
    。这会导致错误的搜索结果
  • 它不应该显示已删除的条目,以及如何反应性地删除该条目(可能是提供程序)
  • 以下是问题的视频:

    目录的树结构:
    。
    ├── 主飞镖
    ├── 模型
    │   └── 注:省道
    ├── 屏风
    │   ├── 另一个屏幕
    │   ├── 注意细节。省道
    │   ├── 注释\u list.dart
    │   ├── 外页省道
    │   └── 搜索屏幕
    ├── 乌提尔斯
    │   ├── 数据库\u helper.dart
    │   └── 省道
    └── 小部件
    ├── 记事本
    └── 记事本
    4个目录,11个文件
    
    外部页面的代码。省道:

    ~~~剪贴导入~~~~
    类OuterPage扩展StatefulWidget{
    @凌驾
    状态createState(){
    返回OuterPageState();
    }
    }
    类OuterPageState扩展了状态{
    最终GlobalKey _scaffoldKey=新的GlobalKey();
    DatabaseHelper DatabaseHelper=DatabaseHelper();
    //调用搜索委托类
    SearchAppBarDelegate\u searchDelegate;
    int _selectedTab=0;
    最终页面选项=[
    NoteList(),
    另一个屏幕(),
    ];
    @凌驾
    void initState(){
    updateListView()。然后((结果){
    此._searchDelegate=SearchAppBarDelegate(结果);
    });
    打印(“初始状态被称为”);
    super.initState();
    }
    ~~~剪断其他代码~~~~
    
    下面是(可重用组件的分支)

    我有一些自己的想法来解决这个问题:
  • 注释列表中传递搜索代理
  • 使用提供程序:我不知道如何在数据库中使用它,如果有人能帮我解决这个问题,那就太好了。我想这也是一种更干净的方法。我尝试过提供程序几次,但我不知道这是否是我正在管理的“状态”:(
  • 对于第二个问题,即显示已删除条目的搜索:

    可能的解决方案:据我所知,
    提供商将从其本地副本注释中删除该条目,还将调用数据库删除该条目,对吗

    请帮助我了解这样做是否有任何缺陷,或者这是正确的做法

    寻找“干净”的方法来解决这个问题,而不是黑客的解决方案。 谢谢

    如果需要更多信息,请告诉我