当前位置:   article > 正文

27、Flutter之 dart空安全适配_flutter 怎么兼容为空

flutter 怎么兼容为空

自定义Widget的空安全适配分两种情况:

  • Widget的空安全适配
  • State的空安全适配

Widget的空安全适配

对于自定的Widget无论是页面的某控件还是整个页面,通常都会为Widget定义一些属性。在进行空安全适配时要对属性进行一下分类:

  • 可空的属性:通过?进行修饰
  • 不可空的属性:在构造函数中设置默认值或者通过required进行修饰

  1. class WebView extends StatefulWidget {
  2. String? url;
  3. final String? statusBarColor;
  4. final String? title;
  5. final bool? hideAppBar;
  6. final bool backForbid;
  7. WebView(
  8. {this.url,
  9. this.statusBarColor,
  10. this.title,
  11. this.hideAppBar,
  12. this.backForbid = false})
  13. ...

State的空安全适配

State的空安全适配主要是根据它的成员变量是否可空进行分类:

  • 可空的变量:通过?进行修饰
  • 不可空的变量:可采用以下两种方式进行适配
    • 定义时初始化
    • 使用late修饰为延时变量
  1. class _TravelPageState extends State<TravelPage> with TickerProviderStateMixin {
  2. late TabController _controller; //延时初始
  3. List<TravelTab> tabs = []; //定义时初始化
  4. ...
  5. @override
  6. void initState() {
  7. super.initState();
  8. _controller = TabController(length: 0, vsync: this);
  9. ...

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/463678
推荐阅读
相关标签
  

闽ICP备14008679号