Reputation: 651
I have the following class which has required unpressedImage field. I need to set unpressedImage value to pressedImage field if pressedImage is not specified. How can I achieve this the best way?
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();
}
Upvotes: 0
Views: 479
Reputation: 4249
Set it in the initialization list, and use a conditional to pick which value you want to use:
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();
}
Upvotes: 5