【发布时间】:2020-08-04 14:41:47
【问题描述】:
我有来自HomeView 班级的HomeBloc。基本 UI 架构如下:
HomeView extends StatelessWidget {
BlocProvider( child: HomeBody(), bloc: new HomeBloc() )
}
HomeBody extends StatefulWidget {
createState => HomeBodyState()
}
HomeBodyState extends State {
BlocBuilder(
bloc: BlocProvider.of<HomeBloc>()
child: Container(
child: Column(
children: [
BlocProvider( child: CashFlowView, bloc: new HomeBloc() )
]
)
)
)
}
CashFlowView extends StatefulWidget {
createState => CashFlowState()
}
CashFlowState extends State {
BlocBuilder(
bloc: BlocProvider.of<HomeBloc>()
child: Container(
child: Column(
children: [
ChipGroupWidget(
onClick => BlocProvider.of().add(event) // <----- Problem is here
)
]
)
)
)
}
完整代码可在this repository 中找到。
问题是当我的ChipGroup 中的任何Chip 被点击时,会在CashFlowState 中调用回调函数。在其中,一个 bloc 事件被添加到 bloc 与一些数据。但它只是第一次触发。我的代码有什么问题?
【问题讨论】: