其他分享
首页 > 其他分享> > 如何给 Flutter 有状态组件(StatefulWidget)传参?

如何给 Flutter 有状态组件(StatefulWidget)传参?

作者:互联网

定义好一个有状态(或无状态)的组件之后,需要为其传递一些参数,希望组件能够更加灵活使用。那么,在 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的错误,详细请查看博客文章。

标签:传参,StatefulWidget,widget,Flutter,extends,minLines,组件,final
来源: https://www.cnblogs.com/shiramashiro/p/15948402.html