小编RP *_*eth的帖子

Flutter Stateful Widget 设置构造函数默认值

我尝试创建一个自定义有状态小部件。但我找不到任何有关如何在构造函数上设置默认值的参考。

举个例子:

class CustomWidget extends StatefulWidget {
   final String buttonText;
   final Function onPressed;

   CustomWidget({Key key, @required this.onPressed, this.buttonText}) : super(key: key);

   @override
   _CustomWidgetState createState() => _CustomWidgetState();
}

class _CustomWidgetState extends State<CustomWidget> {
   @override
   Widget build(BuildContext context) {
      return FlatButton(
         onPressed: widget.onPressed,
         child: Text(widget.buttonText),
      );
   }
}
Run Code Online (Sandbox Code Playgroud)

当我将小部件创建为另一个小部件的子级并包含所有属性时,它可以完美地工作

child: CustomWidget(
   buttonText: 'Text of the button',
   onPressed: () {},
)
Run Code Online (Sandbox Code Playgroud)

但是,当我将按钮文本排除在外时,应用程序崩溃了。

child: CustomWidget(
   onPressed: () {},
)
Run Code Online (Sandbox Code Playgroud)

一个基本的解决方法是简单地添加行buttonText: ''. 我并不总是想在创建自定义小部件时专门处理每个自定义小部件的属性。

So my question is, how do I set default properties …

class stateful dart flutter

9
推荐指数
1
解决办法
9041
查看次数

标签 统计

class ×1

dart ×1

flutter ×1

stateful ×1