我在Flutter应用程序中使用了这段Dart代码,它使用flutter_bloc库。
icon: BlocBuilder<SongsBloc, SongsState>(
builder: (context, state) {
var songSelected = context
.watch<SongsBloc>()
.state
.getSongById(widget.song.id!)
.selected!;
return songSelected
? FontAwesomeIcons.circleCheck
: FontAwesomeIcons.circle;
},
)
这里,icon
是IconData?
。我们的想法是在歌曲选择改变时更新图标。但是我得到了下面的错误消息。
The argument of type 'BlocBuilder<SongsBloc, SongsState>' cannot be assigned to the parameter of type 'IconData?'
根据上面的代码,BlocBuilder
返回IconData
,因此该错误不是预期错误。
我错过了什么或做错了什么?
1条答案
按热度按时间ars1skjm1#
正在获取方法内的数据。
对于小部件的情况下,您可以使用
BlocBuilder
在这个小部件的顶部.