首页 > 解决方案 > 如何在 Flutter 中每天重置东西?

问题描述

我有一个待办事项清单,里面有每天要做的事情,比如“喝水”等等。所以现在我希望当用户检查了一个待办事项时,第二天应该再次取消选中它。我该如何实施?

现在我的代码看起来像这样:

class ToDoScreen extends StatefulWidget {
  const ToDoScreen({Key key}) : super(key: key);

  @override
  _ToDoScreenState createState() => _ToDoScreenState();
}

class _ToDoScreenState extends State<ToDoScreen> {
  List toDos = ['Train Today', 'Drink Water'];
  bool value = false;

  void addToDo(String newToDo) {
    setState(() {
      toDos.add(newToDo);
    });
    Navigator.of(context).pop();
  }

  void newEntry() {
    showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            content: TextField(
              onSubmitted: addToDo,
              decoration: InputDecoration(
                  border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(10)),
                  icon: Icon(Icons.text_snippet_outlined),
                  labelText: 'New To Do'),
            ),
          );
        });
  }

标签: listflutterdartreset

解决方案


正如 Yeasin Sheikh 在评论中所说,首先你需要将数据保存在某个地方,否则你没有什么可以重置的。

我在评论中读到您想使用 Firebase。

所以我想您会将数据存储在 Firebase Firestore 中。

在我看来,执行此类重置的最佳方法是使用 Firebase 函数(docs)。

您可以将它们视为服务器端代码。从那里您可以定义一个函数来访问您的数据库并重置数据。

要每天触发一次该函数,您应该使用外部服务来调用该函数。

我发现这个问题可以帮助你:这里


推荐阅读