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

2022/3/1 6:21:30

本文主要是介绍如何给 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的错误,详细请查看博客文章。



这篇关于如何给 Flutter 有状态组件(StatefulWidget)传参?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程