我已经审查了几个文档和 S.O 条目,但找不到一个真正简单的示例来在我的应用程序中进行测试。 我只想 -简单地 - 将字符串(或整数...等)值传递到按下按钮打开的下一个屏幕。
这是我的第二页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”。 尝试将名称更正为现有命名参数的名称,或使用名称“gelenParametre”定义命名参数。
你做错了。您正在尝试在状态类中传递数据。
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();
}
}