У меня проблема с моим приложением Flutter при вызове базы данных Isar.

У меня проблема с моим приложением Flutter при вызове базы данных Isar. У меня есть структура данных на одной странице, функции на другой и инструкция на моей странице main.dart по созданию двух пользователей, если они не существуют, но я не знаю, как исправить ошибки вadduser,edituser, иdeleteuserфункции.

      @Collection()
class User {
  Id? id = Isar.autoIncrement;

  @Index(unique: true)
  String? username;

  String? password;

  bool? isAdmin;

  User({
    this.id,
    this.username,
    this.password,
    this.isAdmin,
  });
}

страница main.dart содержит

        @override
  Widget build(BuildContext context) {
    // Revisa si el usuario Admin existe
    IsarQueries.getUserByUsername('admin').then((user) {
      if (user == null) {
        // Crea un nuevo usuario Admin
        final admin = User()
          ..username = 'admin'
          ..password = '1234'
          ..isAdmin = true;
        IsarQueries.addUser(admin);
      }
    });

    // Revisa si el usuario mms existe
    IsarQueries.getUserByUsername('mms').then((user) {
      if (user == null) {
        // Crea un nuevo usuario mms
        final mms = User()
          ..username = 'mms'
          ..password = '4321'
          ..isAdmin = true;
        IsarQueries.addUser(mms);
      }
    });

    return Scaffold(
      appBar: AppBar(
        title: const Text('Fitgate App'),
      ),
      body: LoginPage(),
      backgroundColor: Colors.white,
    );
  }
}

в функциях страницы у меня есть:

        static Future<void> addUser(User user) async {
    await _isar.writeTxn((isar) async {
       isar.user.put(user);
    });
  }

  static Future<void> updateUser(User user) async {
    await _isar.writeTxn((isar) async {
       isar.user.put(user);
    });
  }

  static Future<void> deleteUser(User user) async {
    await _isar.writeTxn((isar) async {
       isar.user.delete(user);
    });
  }
}

Но эти три функции дают мне следующую ошибку

Тип аргумента «Будущая функция (динамический)» не может быть присвоен типу параметра «Будущая функция()».

Я просмотрел руководства и выполнил пару руководств, и я избавился от множества ошибок, но теперь у меня есть только эти три.

1 ответ

Похоже, у тебя есть"isar"как объявленная переменная в классе. Если это правда, это может сбить вас с толку.writeTxnфункция.

Если вы изменитеisarна другой и повторите попытку.

Другие вопросы по тегам