提问人:emsiloader 提问时间:9/28/2023 更新时间:9/28/2023 访问量:36
在 Flutter 中将参数传递给导航窗口
passing a parameter to the navigated window in flutter
问:
我已经查看了几份文档和 S.O 条目,但找不到能够在我的应用程序中测试的真正简单的示例。 我只想 - 简单地 - 传递一个字符串(或 int...等)值到我通过按下按钮打开的下一个屏幕。
这是我的第二个页面 receivingpage.dart(它将接收数据)的核心块:
import 'package:flutter/material.dart';
class receivingpage extends StatefulWidget {
const receivingpage({super.key});
@override
_receivingpageState createState() => _receivingpageState(receiveddata:'mystring');
}
class _receivingpageState extends State<receivingpage> {
final String receiveddata;
_examinationState({required this.receiveddata});
@override
Widget build(BuildContext context) {
return Scaffold(.... the rest of the code...
这是第一页(senderpage.dart),它将数据发送到下一页:
onTap: ()
=> Navigator.push(context,
MaterialPageRoute(builder: (context) => examination( <******> ),),
),
当我将参数名称(我在第一页中定义的 receiveddata)放在这里时: <******> ,它不接受并返回以下错误:
未定义命名参数“receiveddata”。 尝试将名称更正为现有命名参数的名称,或定义名称为“gelenParametre”的命名参数。
答:
1赞
Vivek Chib
9/28/2023
#1
你做错了。您正在尝试在状态类中传递数据。
class ReceivingPage extends StatefulWidget {
final String data;
const ReceivingPage ({super.key,required this.data});
@override
State<ReceivingPage > createState() => _ReceivingPage State();
}
class _ReceivingPage State extends State<ReceivingPage > {
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
评论