有没有办法把这个"模型"从commentItem小部件路径到一个导航器,这个导航器把我传送到另一个屏幕?2比如Navigator. push或者Navigator. pushNamed?它将帮助我显示帖子或评论在不同的屏幕,如主屏幕,它将显示帖子以及我的个人资料屏幕,它将只显示我的帖子,所以我需要知道如何路径参数到不同的屏幕由导航器如何执行这一点密码?
Widget commentItem(CommentModel model, context,) => Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CircleAvatar(
radius: 22,
backgroundImage: NetworkImage('${model.image}'),
),
SizedBox(
width: 15,
),
Expanded(
child: Column(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: SocialCubit.get(context).iconChangeTheme? Colors.white70 : Colors.grey[350],
),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Text(
'${model.name}',
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.bold,
color: SocialCubit.get(context).iconChangeTheme? Colors.black : Colors.black
),
),
SizedBox(
width: 7,
),
Text(
'${model.dateTime}',
style: TextStyle(
fontSize: 11,
color: SocialCubit.get(context).iconChangeTheme? Colors.black : Colors.black
),
),
],
),
if(model.text != '')
SizedBox(
height: 5,
),
Text('${model.text}'
,style: TextStyle(
color: SocialCubit.get(context).iconChangeTheme? Colors.black : Colors.black
),),
],
),
),
),
if (model.commentImage != '')
Padding(
padding: const EdgeInsetsDirectional.only(top: 5),
child: Container(
height: 170,
//width: double.infinity,
alignment: Alignment.topLeft,
child: ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image(image: NetworkImage('${model.commentImage}'),
//fit: BoxFit.fill,
alignment: Alignment.topLeft),
),
),
),
],
),
),
],
),
],
);
ListView.separated(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) => commentItem(SocialCubit.get(context).comments[index], context,),
separatorBuilder: (context, index) => SizedBox(height: 20),
itemCount: SocialCubit.get(context).comments.length),
2条答案
按热度按时间2nc8po8w1#
您可以按如下方式使用浏览器推送:
您的类将如下所示:
如果使用
Stateless
小工具,您可以像postCode
、week
或postName
等一样直接通过Navigator
访问传递的数据。如果使用Stateful
,您需要使用widget.postCode
、widget.week
或widget.postName
表示法。rnmwe5a22#
使用Getx包Get.to(屏幕名称());https://pub.dev/packages/get