0

作为为 Listview 设置的 ValueListenableBuilder 的一部分,当新条目添加到数据库时需要更新。我是新来的,但我发现的每个教程都说这应该可以工作,但它说“方法'listenable'没有为'Box'类型定义。” 关于我哪里出错的任何帮助或想法都是巨大的帮助。

(只有一段代码,因为整个小部件很大)

import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:hive/hive.dart';

Widget foodbar(context) => ValueListenableBuilder(
    valueListenable: Hive.box<dynamic>('food').listenable(),
    builder: (
      context,
      foodbox,
      _,
    ) {
      return ListView.builder(
          itemCount: foodbox.length,
          itemBuilder: (BuildContext context, int index) {
            final food = foodbox.getAt(index) as FoodMod;
            return; 

(pubspec.yaml)

  flutter:
    sdk: flutter
  hive: 1.4.1+1
  hive_flutter: ^0.3.0+2
  path_provider: ^1.3.0
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter
  hive_generator: ^0.8.2
  build_runner: 
4

1 回答 1

2

你需要导入

import 'package:hive_flutter/hive_flutter.dart';

来源

于 2021-06-03T07:32:26.553 回答