【发布时间】:2021-04-20 19:43:56
【问题描述】:
我是 Flutter 的新手,我正在尝试创建一个通用按钮小部件,我可以将参数传递给(文本、颜色等),现在保持它的简短为文本。所以我设置了名为SplashScreen 的主应用程序,并在body 中添加了GenericButton 类。我想知道是否有办法让我传递一串文本或任何其他类型的数据,将其保存在我的GenericButton 类中,以便我可以使用widget.buttonText 将其推送到我的_GenericButtonState 中
final String _title = "Flutter Demo";
// * This is the landing page
class SplashScreen extends StatelessWidget {
// * This widget is the root of your application.
const SplashScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
theme: ThemeData(
primarySwatch: Colors.deepPurple,
),
home: Scaffold
(
appBar: AppBar
(
title: Text(_title)
),
body: GenericButton() // <-- Statelful Widget I would like to pass data into.
)
);
}
}
// * Creating reusable button
class GenericButton extends StatefulWidget
{
final String buttonText;
const GenericButton(this.buttonText);
@override
_GenericButtonState createState() => _GenericButtonState();
}
class _GenericButtonState extends State<GenericButton>
{
@override
Widget build(BuildContext context)
{
return OutlinedButton(
child: Text(widget.buttonText),
onPressed: ()
{
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LocationsPage()),
);
},
);
}
}
【问题讨论】: