首页 > 编程知识 正文

flutter实战,flutter安装教程

时间:2023-05-04 22:17:08 阅读:55841 作者:4244

}

可以带着result回复高级页面。

使用跳转到代码实现详细信息页以指示获取路由参数的列表。 (清单构建文章请参阅Flutter入门和实战(5)请参阅文字和文章排列的清单)。 单击列表行,包含列表数据的id将跳至详细页面。 从详细页面回来后,我会回复其id。 列表小部件中添加了生成列表时初始化的id属性。

classdynamicitemextendsstatelesswidget {

final int id;

最终字符串标题;

最终字符串图像;

完成查看计数;

saticconstdoubleitem _ height=100;

saticconstdoubletitle _ height=80;

staticconstdoublemargin _ size=10;

constdynamicitem(this.id,this.title,this.imageUrl,this.viewCount,

{Key key} )

3360super(key:key;

//…

}

列表中的容器将在GestureDetector中包装,以响应单击事件。 onTap方法被定义为async方法,该方法使用await获取导航返回时的参数,并显示使用SnackBar返回的id。 在这里,pushNamed拿着Map对象将列表的id传递给了详细页面。

@override

构件构建(构建上下文上下文) {

返回获取检测器(

child: Container (

margin : edge insets.all (margin _ size )是,

child: Row (

crossaxisalignment 3360 crossaxisalignment.start,

children: [

_imagewrapper(this.imageurl ),

扩展(

child: Column (

crossaxisalignment 3360 crossaxisalignment.start,

children: [

_ title wrapper (上下文,this.title ),

_ view count wrapper (this.view count.tostring ) )、

]、

请参阅。

]、

请参阅。

请参阅。

onTap: ) )同步{

MapString,dynamicrouteparams={‘id’: id };

var arguments=await navigator.of (context ) )。

. push named (router table.dynamic detail,arguments: routeParams );

caffoldmessenger.of (上下文).showsnackbar ) snackbar (

内容:文本(“从动态${(argumentsasmapstring,动态)‘id’}返回”),

);

(,

);

}

这里还使用了arguments变量,它接收导航返回的参数。 如果导航具有返回参数,则返回Future对象,可以使用await接收。 然后,使用as转换为实际类型使用。 在详细信息页面上,Flutter提供ModalRoute类,以从当前上下文中获取路由设置参数。 代码如下。

classdynamicdetailextendsstatelesswidget {

constdynamicdetail (密钥) ) :super (密钥:密钥);

@override

构件构建(构建上下文上下文) {

MapString,动态路由参数=

modal route.of (上下文).settings? arguments;

返回willpopscope (

child: Scaffold (

appBar: AppBar (

title 3360文本(动态详细信息)、

brightness: Brightness.dark,

请参阅。

body:中心(

child: Text (“产品id : $ { route params [‘id’}”)、

请参阅。

请参阅。

onwillpop : (同步)。

navigator.of(context ).pop ) {‘id’: route params [‘id’} };

返回真;

(,

);

}

}

实际上,此modalroute.of(context ).settings是上一个路由块的onGenerateRoute的settings参数,因此它将添加诸如全局参数之类的路由参数这里有需要注意的地方。 为了在返回时携带参数,必须阻止返回响应事件。 此时,可以使用WillPopScope包装整个组件。 该方法有两个参数。

child :子组件,即原始页面组件; onWillPop :在返回之前阻止处理并返回单个Futurebool对象。 如果为false,则不返回。 如果为true,则返回上一级。 在这里,我们调用了带参数的pop方法来返回参数。 实际上,表格没有保存,经常会做其他处理,比如询问是否确认李可,在很多电商的活动页面上询问“忍痛离开”还是“多看一会儿”等等。 最终效果最终执行效果如下图所示,详细页面获取id参数,返回时也接收到对应的id。

路由参数侦听路由参数可以通过onGenerateRoute侦听进行附加处理。 以下是示例。 请注意,这里只是例子。 因为settings。 由于arguments是任意类型,因此转换可能失败。 在实际业务中,为了避免因参数形式的不统一而发生异常,最好约定路由参数的类型。

静态路由ongeneraterou

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

路由设置设置(te ) {

代码讲座(**

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

路由设置设置(te ) {

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。