flutter如何引用传值_Flutter页面/组件传值

父子组件之间的传值

父组件

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

@override

Widget build(BuildContext context) {

return MaterialApp(

title: "Test",

home: Scaffold(

appBar: AppBar(

title: Text("Test"),

),

body: MyText(

str1: "传递的值", //向自定义的MyText类传值,格式:参数名称:参数值

),

),

);

}

}

class MyText extends StatelessWidget {

const MyText({Key key,@required this.str1}) : super(key: key); //接收传递过来的值,使用@required修饰,表示为必传参数

final String str1; //定义接收参数

@override

Widget build(BuildContext context) {

return Text(str1);

}

}

页面导航打开新页面和返回新页面

import 'package:flutter/material.dart';

void main(){

runApp(

MaterialApp(

title: "导航演示",

home: FirstScreen(),

)

);

}

class FirstScreen extends StatelessWidget {

const FirstScreen({Key key}) : super(key: key);

@override

Widget build(BuildContext context) {

return Container(

child: Scaffold(

appBar: AppBar(title: Text("页面一"),),

body: Center(

child: RaisedButton(

onPressed: (){

Navigator.push(context, MaterialPageRoute(

builder: (context) => SecondScreen()

)); //第一个参数是上下文,第二个参数是路由参数

},

child: Text("打开新视图"),

),

),

)

);

}

}

class SecondScreen extends StatelessWidget {

const SecondScreen({Key key}) : super(key: key);

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(title: Text("页面二"),),

body: Center(

child: RaisedButton(

child: Text("返回"),

onPressed: (){

Navigator.pop(context);

},

),

),

);

}

}

导航之间的传值

import 'package:flutter/material.dart

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值