Ati*_*man 4 flutter flutter-provider
每当我将提供程序添加到 MultipleProvider 时,它都会显示这个奇怪的错误,在花费 4 小时后无法解决它。
主程序.dart
MultiProvider(
providers: [
Provider<HandleImageSelectionModel>(
create: (_) => HandleImageSelectionModel()),
],
child: MaterialApp(
title: 'Flutter Demo',
initialRoute: '/',
onGenerateRoute: RouteGenerator.generateRoute,
theme: ThemeData(
primarySwatch: Colors.blue,
),
),
);
Run Code Online (Sandbox Code Playgroud)
提供者类别
import 'package:flutter/foundation.dart';
class HandleImageSelectionModel extends ChangeNotifier {
bool isSelectionModeEnabled = false;
HandleImageSelectionModel();
toggleSelectionMode() {
isSelectionModeEnabled = !isSelectionModeEnabled;
notifyListeners();
}
}
Run Code Online (Sandbox Code Playgroud)
改变状态
Provider.of<HandleImageSelectionModel>(context)
.toggleSelectionMode();
Run Code Online (Sandbox Code Playgroud)
尝试在这里消费
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) {}),
),
);
},
)
Run Code Online (Sandbox Code Playgroud)
当您Provider传递的类是ChangeNotifier.
改用ChangeNotifierProvider:
ChangeNotifierProxyProvider<HandleImageSelectionModel>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1800 次 |
| 最近记录: |