【发布时间】:2022-01-20 14:40:13
【问题描述】:
我正在尝试实现一个提供程序,以便在状态更改时在不同的小部件之间呈现。
在这里,我在提供者控制器中定义了一个名为toggleContainer() 的函数。
class UserNotifier extends ChangeNotifier {
toggleContainer() {
bool isExpanded = false;
if (isExpanded == false) {
isExpanded = true;
} else {
isExpanded = false;
}
notifyListeners();
}
}
然后,在应用程序中,我将useNofifier 声明如下并实现了该功能
Widget build(BuildContext context) {
UserNotifier userNotifier = Provider.of<UserNotifier>(context);
return Scaffold(
body: Container(
padding: EdgeInsets.only( ...
GestureDetector(
onTap: () {
userNotifier.toggleContainer();
},
child: Container(
child: userNotifier.isEpanded ? Text("close") : Text('open'), //isExpanded is undifened
),
),
所以现在,我没有正确实现,isEpanded 返回未定义。
void main() {
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => UserNotifier()),
],
child: const MyApp(),
),
);
}
【问题讨论】: