有条件地将可选参数传递给小部件

时间:2020-07-13 18:30:48

标签: flutter dart

我有一个自定义窗口小部件,可以选择将其传递给size属性。如果存在,则应将该值传递到我自己的小部件中size小部件的Icon()属性。

有没有一种方法可以只传递该值(如果存在)?

class MyWidget extends StatelessWidget {
  final double size;
  MyWidget({this.size});

  Widget build(BuildContext context) {
    return Icon(
      iconData: IconData(),
      size: // Don't pass size here if not present
    );
  }
}

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我必须选择在按钮中显示一个图标。

使用 null 安全,您可以通过这种方式实现您想要做的事情

import 'package:flutter/material.dart';

class MyWidget extends StatelessWidget {
  final double? size;
  MyWidget ({this.size});

  Widget build(BuildContext context) {
    return Icon(
      iconData:IconData(),
      size: size, // Don't pass size here if not present
    );
  }
}

就这样使用

 StackIcon()

或者像这样

 StackIcon(size: 100.0)

If you supply the size parameter the icon will make use of it, otherwise it uses the default size of the icon.