Flutter 如何通过有状态小部件传递参数
当调用另一个类时,我想用一个参数初始化该类,其形式与小部件通常初始化的形式相同 使用Flutter 如何通过有状态小部件传递参数,flutter,dart,Flutter,Dart,当调用另一个类时,我想用一个参数初始化该类,其形式与小部件通常初始化的形式相同 使用StatefulWidget执行此操作时,我会创建一个自定义实例化器,就像在C#或其他我比Dart更了解的语言中一样,并将参数传递给类的属性 Stateful类给了我一条蓝色的曲线,并说我应该在一个“@immutable class”中初始化属性。它可以工作,但我讨厌蓝色的曲线 有没有更好的方法将参数传递给有状态类 类CreateTest扩展StatefulWidget{ DemandRecord\u Dema
StatefulWidget
执行此操作时,我会创建一个自定义实例化器,就像在C#或其他我比Dart更了解的语言中一样,并将参数传递给类的属性
Stateful类给了我一条蓝色的曲线,并说我应该在一个“@immutable class”中初始化属性。它可以工作,但我讨厌蓝色的曲线
有没有更好的方法将参数传递给有状态类
类CreateTest扩展StatefulWidget{
DemandRecord\u DemandRecord;
BuildContext\u BuildContext;
@凌驾
状态createState(){
返回CreateTestState(_buildContext,_demandRecord);
}
CreateTest()
{
}
CreateTest.start(BuildContext上下文,DemandRecord DemandRecord){
_buildContext=context;
_demandRecord=demandRecord;
}
}
我只是想把它传下去
这就是错误==>
该类(或该类继承的类)标记为“@immutable”,但其一个或多个实例字段不是最终字段:
Jamie这是实现您想要做的事情的正确方法,使用类似于中提供的结构:
这是实现您想要做的事情的正确方法,使用类似于中提供的结构:
对于那些将来读到这篇文章的人来说,几个月后我发现了如何做我真正想做的事情,但不知道如何做 控制器的实现中有一个名为#widget#的参数,可用于返回创建状态控制器的widget
import 'package:flutter/material.dart';
class CreateTest extends StatefulWidget {
final DemandRecord demandRecord;
final BuildContext buildContext;
CreateTest({Key key, this.demandRecord, this.buildContext}) : super(key: key);
@override
_CreateTestState createState() => _CreateTestState();
}
class _CreateTestState extends State<CreateTest> {
@override
Widget build(BuildContext context) {
// TODO: implement build
对于那些将来读到这篇文章的人来说,几个月后我发现了如何做我真正想做的事情,但不知道如何做 控制器的实现中有一个名为#widget#的参数,可用于返回创建状态控制器的widget
import 'package:flutter/material.dart';
class CreateTest extends StatefulWidget {
final DemandRecord demandRecord;
final BuildContext buildContext;
CreateTest({Key key, this.demandRecord, this.buildContext}) : super(key: key);
@override
_CreateTestState createState() => _CreateTestState();
}
class _CreateTestState extends State<CreateTest> {
@override
Widget build(BuildContext context) {
// TODO: implement build
谢谢,这很有帮助。谢谢还有一个快速的问题,我想把变量传递给_CreateTestState函数我需要传递密钥的目的是什么?这篇文章将解释Mazin,谢谢我知道密钥的用途,我想确定的是他为什么在上面选择创建密钥并传递它。谢谢,这非常有用。谢谢还有一个快速的问题,我想把变量传递给_CreateTestState函数我需要传递密钥的目的是什么?这篇文章将解释Mazin,谢谢我知道密钥的用途,我想确定的是为什么他在上面选择创建密钥并传递它。
import 'package:flutter/material.dart';
class CreateTest extends StatefulWidget {
final DemandRecord demandRecord;
final BuildContext buildContext;
CreateTest({Key key, this.demandRecord, this.buildContext}) : super(key: key);
@override
_CreateTestState createState() => _CreateTestState();
}
class _CreateTestState extends State<CreateTest> {
@override
Widget build(BuildContext context) {
// TODO: implement build
Colors localColor = widget.demandRecord.color;
if (localColor == Colors.blue)
// act on local Color here and notice widget. gave access to
// parameters passed into StatefulWidget
return null;
}
}