定义好一个有状态(或无状态)的组件之后,需要为其传递一些参数,希望组件能够更加灵活使用。那么,在 Flutter 中如何为其传递参数呢?
以下是 StatefulWidget 传递值的步骤,一共三步:
1、类中定义 final 全局变量;
class QYInput extends StatefulWidget {
final int minLines;
}
2、构造函数中初始化变量;
class QYInput extends StatefulWidget {
final int minLines;
const QYInput({Key? key, this.minLines = 1}) : super(key: key);
}
3、继承于 State 抽象类中通过 widget.xxx
调用变量。
class _QYInputState extends State<QYInput> {
@override
Widget build(BuildContext context) {
return TextField(minLines: widget.minLines);
}
}
注意:如果 TextFiled 组件前加上了 const 关键字,极有可能出现调用 StatefulWidget 组件的参数时(widget.xxx)报 Invalid Constant Value的错误,详细请查看博客文章。