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
Json 颤振HiveDb将项目添加到列表中_Json_Flutter_Dart_Nosql_Hivedb - Fatal编程技术网

Json 颤振HiveDb将项目添加到列表中

Json 颤振HiveDb将项目添加到列表中,json,flutter,dart,nosql,hivedb,Json,Flutter,Dart,Nosql,Hivedb,目前我被困在这里,我目前的思维方式无法找到一个解决方案,即在Flatter Hive Db中向列表中添加一个项目,并从列表中删除一个项目,然后从Hive Db中删除一个项目。我想要的是,用户将更新数据库中的任何数据,但其中存在一些限制 这就是我想要实现的目标 { "title": "List1", "data": [ { "title": " titl

目前我被困在这里,我目前的思维方式无法找到一个解决方案,即在Flatter Hive Db中向列表中添加一个项目,并从列表中删除一个项目,然后从Hive Db中删除一个项目。我想要的是,用户将更新数据库中的任何数据,但其中存在一些限制

这就是我想要实现的目标

{
    "title": "List1",
    "data": [
        {
            "title": " title",
            "details": "details",
            "data": [
                {
                    "title": " title",
                    "details": " details"
                },
                {
                    "title": " title",
                    "details": " details"
                }
            ]
        },
        {
            "title": " title",
            "details": " details",
            "data": [
                {
                    "title": " title",
                    "details": "details"
                },
                {
                    "title": " title",
                    "details": " details"
                }
            ]
        }
    ]
}
数据模型

0

任何建议都会有帮助。多谢各位

 class TodoList {
      String title;
      List<Todo> todos;
    
      TodoList({this.title, this.todos});
    
          TodoList.fromJson(Map<String, dynamic> json)
              : title = json['title'],
                todos = json['todos'];
        
          Map<String, dynamic> toJson() => {
            'title' : title,
            'todos': todos
          };
        }
class Todo {

  Todo({this.details, this.done, this.title});
  String title;
  String details;
  bool done = false;
  List<Task> task;

  Todo.fromJson(Map<String, dynamic>parsedJson)
  :title = parsedJson['title'],
  details = parsedJson['details'],
  done = parsedJson['done'],
 task = parsedJson['task'];

 
 Map<String, dynamic> toJson() => {
   'title': title,
   'details': details,
   'done': done,
   'task': task
 };
}
class Task {
  Task({this.details, this.done, this.title});
  String title;
  String details;
  bool done =false;

  Task.fromJson(Map<String, dynamic>parsedJson)
  :title = parsedJson['title'],
  details = parsedJson['details'],
  done = parsedJson['done'];
}
final todoData = todos.getAt(0);
                Map todoJson = jsonDecode(todoData);
                final allData = TodoList.fromJson(todoJson);
                print(allData);
                _listTittle = allData.title;
                print(_listTittle);
                List data = allData.todos;
                Todo todo = data == null ? todoIns : data[index];
                bool done = todo.done;
                done = done == null ? false : done;
                return MaterialButton(
                  padding: EdgeInsets.zero,
                  onPressed: () {},
                  child: Container(
                    color: Colors.white,
                    child: ListTile(
                      leading: IconButton(
                          icon: done
                              ? Icon(
                                  Icons.done,
                                  color: Colors.red,
                                )
                              : Icon(
                                  Icons.done,
                                ),
                          onPressed: () {
                            
                            final todoData = Todo(
                                details: todo.details,
                                title: todo.title,
                                done: done ? false : true);
                            data.insert(index, todoData);
                            final listData =
                                TodoList(title: allData.title, todos: data);
                            updataTodo(listData, index);
                          }),