flutter 参数函数_Flutter参数的传递和接收

上次只写了方法和参数,这次写了完整的示例,页面间参数的传递和接收的示例。

1、参数传递

用在程序上解释就是比如你进入一个商品选择列表,当你想选择一个商品的具体信息的时候,你就要传递商品编号,详细页面接受到编号后,显示出不同的内容。

声明数据结构类

Dart中可以使用类来抽象一个数据,比如我们模仿一个商品信息,有商品标题和商品描述。我们定义了一个Product类,里边有两个字符型变量,title和description。

title:是商品标题。

description: 商品详情描述

classProduct{

final String title;//商品标题

final String description; //商品描述

Product(this.title,this.description);

}

构建一个商品列表

作一个商品的列表,这里我们采用动态的构造方法,在主方法里传递一个商品列表(List)到自定义的Widget中。

先来看看主方法的编写代码:

import 'package:flutter/material.dart';voidmain(){

runApp(MaterialApp(

title:'数据传递案例',

home:ProductList(

products:List.generate(20,

(i)=>Product('商品 $i','这是一个商品详情,编号为:$i')

),

)

));

}

上面的代码是主路口文件,主要是在home属性中,我们使用了ProductList,这个自定义组件,而且时候会报错,因为我们缺少这个组件。这个组件我们传递了一个products参数,也就是商品的列表数据,这个数据是我们用List.generate生成的。并且这个生成的List原型就是我们刚开始定义的Product这个类(抽象数据)。

ProductList自定义组件的代码:

classProductList extends StatelessWidget{

final Listproducts;

ProductList({Key key,@requiredthis.products}):super(key:key);

@override

Widget build(BuildContext context) {returnScaffold(

appBar: AppBar(title:Text('商品列表')),

body:ListView.builder(

itemCount:products.length,

itemBuilder: (context,index){returnListTile(

title:Text(products[index].title),

onTap:(){

}

);

},

)

);

}

}

先接受了主方法传递过来的参数,接受后用ListView.builder

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值