簡體   English   中英

dart 構造函數中的默認值

[英]default values in dart constructor

我有以下 class 需要 unpressedImage 字段。 如果未指定pressedImage,我需要將unpressedImage 值設置為pressedImage 字段。 我怎樣才能以最好的方式實現這一目標?

class ImageButton extends StatefulWidget {
  final Image unpressedImage;
  final Image pressedImage;
  final onTap;

  const ImageButton({
    Key key,
    @required this.unpressedImage,
    this.pressedImage,
    this.onTap,
  }) : super(key: key);

  @override
  _ImageButtonState createState() => _ImageButtonState();
}

將其設置在初始化列表中,並使用條件來選擇要使用的值:

class ImageButton extends StatefulWidget {
  final Image unpressedImage;
  final Image pressedImage;
  final onTap;

  const ImageButton({
    Key key,
    @required this.unpressedImage,
    Image pressedImage,
    this.onTap,
  })  : this.pressedImage =
            pressedImage == null ? unpressedImage : pressedImage,
        super(key: key);

  @override
  _ImageButtonState createState() => _ImageButtonState();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM