// view.dart
List<Widget> _buildTabBarView() {
List<Widget> widgets = [];
for (var i = 0; i < adapter.itemCount; i++) {
widgets.add(adapter.itemBuilder(viewService.context, i));
}
return widgets;
}
// state.dart
@override
Object getItemData(int index) {
return lotteryStates[index];
}
@override
String getItemType(int index) {
if (lotteryStates[index] is GroupLotteryNewState) {
return 'new';
}
return 'dtl';
}
@override
int get itemCount => lotteryStates.length;
@override
void setItemData(int index, Object data) {
lotteryStates[index] = data;
}
// adapter.dart
class GroupLotteryAdapter extends SourceFlowAdapter<GroupLotteryState> {
GroupLotteryAdapter()
: super(
pool: <String, Component<Object>>{
'new': GroupLotteryNewComponent(),
'dtl': GroupLotteryDtlComponent()
},
);
}
2条答案
按热度按时间zte4gxcn1#
我加了个valueKey 解决了这个错误,目前没发现其他问题
nfzehxib2#
我加了个valueKey 解决了这个错误,目前没发现其他问题
你的state.dart实现StateKey也可以,你这样会引发其他问题