我正在使用提供程序Flutter 包。
我有一个主列表,主列表的每个项目都有一个子列表。我可以将项目添加到主列表并且它正在工作,但每次我向子列表添加项目时,用户界面都不会更新。运行代码并添加一些项目并打开它们,然后在其中添加一些项目(这是子列表),您将看到您不会看到任何更新,但如果您最小化键盘,UI 将得到更新。也许因为我用来Provider.of<Collection>(context)访问子列表和notifyListeners()类的对象CityName无法运行,findById(id)这就是我能想到的。
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider.value(
value: Collection(),
),
ChangeNotifierProvider.value(
value: CityName(),
)
],
child: MaterialApp(
home: MyHomePage(),
),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final _textEditingController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold( …Run Code Online (Sandbox Code Playgroud) flutter ×2