小编pav*_*rdy的帖子

嵌套Provider的notifyListeners()没有更新UI

我正在使用提供程序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

6
推荐指数
1
解决办法
1万
查看次数

如何在 Flutter 中创建垂直 tabBar?

如何在 Flutter 中创建垂直 tabBar?与TabBar中选项卡显示在水平行中不同,我想将它们垂直放置在列中。看这个例子

flutter

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

flutter ×2