我可以从飞镖中的子小部件中的父小部件访问变量吗?
Can I access a variable from the parent widget in a child widget in dart?
我是 flutter/dart 的新手,不确定我的问题是否正确。以下是我正在编写的代码的一部分。现在我想从 SecondRoute 小部件获取该文本变量,并使用文本变量中的单词创建一个字符串列表(我不知道我是否可以使用 StatelessWidget 做到这一点)。现在我无法从 _SecondRouteState 获取这个“文本”变量class 而且我无法在 SecondRoute 小部件中从中创建列表。文本变量从用户输入中获取字符串,它来自主屏幕。
class SecondRoute extends StatefulWidget {
String text;
SecondRoute({Key? key, required this.text}) : super(key: key);
@override
_SecondRouteState createState() => _SecondRouteState();
}
class _SecondRouteState extends State<SecondRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Second Route"),
),
body: Center(
child: Text(
"hello world",
// text,
style: TextStyle(fontSize: 24),
),
),
);
}
}
你需要用widget
打电话
class SecondRoute extends StatefulWidget {
String text;
SecondRoute({Key? key, required this.text}) : super(key: key);
@override
_SecondRouteState createState() => _SecondRouteState();
}
class _SecondRouteState extends State<SecondRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Second Route"),
),
body: Center(
child: Text(
widget.text, // changes need
style: TextStyle(fontSize: 24),
),
),
);
}
}
试试下面的代码
Text(widget.text),
我是 flutter/dart 的新手,不确定我的问题是否正确。以下是我正在编写的代码的一部分。现在我想从 SecondRoute 小部件获取该文本变量,并使用文本变量中的单词创建一个字符串列表(我不知道我是否可以使用 StatelessWidget 做到这一点)。现在我无法从 _SecondRouteState 获取这个“文本”变量class 而且我无法在 SecondRoute 小部件中从中创建列表。文本变量从用户输入中获取字符串,它来自主屏幕。
class SecondRoute extends StatefulWidget {
String text;
SecondRoute({Key? key, required this.text}) : super(key: key);
@override
_SecondRouteState createState() => _SecondRouteState();
}
class _SecondRouteState extends State<SecondRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Second Route"),
),
body: Center(
child: Text(
"hello world",
// text,
style: TextStyle(fontSize: 24),
),
),
);
}
}
你需要用widget
class SecondRoute extends StatefulWidget {
String text;
SecondRoute({Key? key, required this.text}) : super(key: key);
@override
_SecondRouteState createState() => _SecondRouteState();
}
class _SecondRouteState extends State<SecondRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Second Route"),
),
body: Center(
child: Text(
widget.text, // changes need
style: TextStyle(fontSize: 24),
),
),
);
}
}
试试下面的代码
Text(widget.text),