首页 > 解决方案 > 如何从子小部件调用 setState*

问题描述

我有带 3 个选项卡的 DefaultTabController。选项卡之一是列表。我需要在单击列表项时,在其他小部件上更改当前列表。我该怎么做呢?谢谢你。选项卡状态类

class StationState extends State<Stations> {
  Widget secondWidget;
  @override
  Widget build(BuildContext context) {
    secondWidget = Styles(this);
    return DefaultTabController(
      length: 3,
      child: Scaffold(
        backgroundColor: Color(0xFF000000),
        appBar: AppBar(
          title: HeaderLogo(),
          backgroundColor: Color(0xFF000000),
          bottom: TabBar(
            indicatorColor: Colors.white,
            tabs: [
              Tab(
                text: 'Favorites',
              ),
              Tab(
                text: 'Genres',
              ),
              Tab(
                text: 'Networks',
              ),
            ],
          ),
        ),
        body: TabBarView(children: [
          Favorites(),
          secondWidget,
          Networks(),
        ]),
      ),
    );

    ;
  }
}

标签: flutterdartstate

解决方案


请添加您的代码以更好地帮助您。

但是您可以将回调传递给列表项,当单击列表项时,会触发回调。

像这样的东西

return ListItem(
    onPressed: () {
        setState((){
            //Do what you need on the parent
        });
    }
);

推荐阅读