在 flutter 中将参数传递给导航窗口

问题描述 投票:0回答:1

我已经审查了几个文档和 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”定义命名参数。

flutter parameters parameter-passing
1个回答
0
投票

你做错了。您正在尝试在状态类中传递数据。

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();
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.