gpt4 book ai didi

flutter - 这可能是一个错误,因为 Provider 不会自动更新依赖项

转载 作者:行者123 更新时间:2023-12-04 12:40:55 25 4
gpt4 key购买 nike

每当我将提供程序添加到 MultipleProvider 时,它只会显示这个奇怪的错误,在花费 4 小时后无法解决。

ma​​in.dart

MultiProvider(
providers: [
Provider<HandleImageSelectionModel>(
create: (_) => HandleImageSelectionModel()),
],
child: MaterialApp(
title: 'Flutter Demo',
initialRoute: '/',
onGenerateRoute: RouteGenerator.generateRoute,
theme: ThemeData(
primarySwatch: Colors.blue,
),
),
);

提供者类

import 'package:flutter/foundation.dart';

class HandleImageSelectionModel extends ChangeNotifier {
bool isSelectionModeEnabled = false;
HandleImageSelectionModel();
toggleSelectionMode() {
isSelectionModeEnabled = !isSelectionModeEnabled;
notifyListeners();
}
}

改变状态

Provider.of<HandleImageSelectionModel>(context)
.toggleSelectionMode();

尝试在这里消费

Consumer<HandleImageSelectionModel>(
builder: (context, isEnabled, child) {
print(isEnabled);

return Positioned(
child: Align(
alignment: Alignment.topRight,
child: CircularCheckBox(
value: true,
materialTapTargetSize:
MaterialTapTargetSize.padded,
onChanged: (bool x) {}),
),
);
},
)

最佳答案

当您传递的类是 ChangeNotifier 时,您正在使用 Provider

改用ChangeNotifierProvider:

ChangeNotifierProxyProvider<HandleImageSelectionModel>

关于flutter - 这可能是一个错误,因为 Provider 不会自动更新依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59164872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com