如果 RaisingButton.icon() 上构造函数中的图标值为 null,如何保持图标禁用?

Far*_*rwa 4 android dart flutter flutter-layout

我有一个常见的按钮小部件,它将图标值作为构造函数。有时我希望小部件没有可见的图标。我如何将该逻辑放入像这样的小部件中?

const SocialAuthBtn({this.action, this.title, this.textColor, this.bgColor, this.icon});

@override
  Widget build(BuildContext context) {
    return ButtonTheme(
      minWidth: double.infinity,
      height: UtilWidget.verticalBlock(7),
      child: RaisedButton.icon(
          onPressed: action,
          color: bgColor,
          label: Padding(
            padding: EdgeInsets.only(left: UtilWidget.horizontalBlock(2)),
            child: Text(
              title,
              style: TextStyle(
                fontSize: SizeConfig.blockSizeHorizontal + 10,
                color: textColor,
                height: 1,
              ),
            ),
          ),
          icon: Image.asset(
            icon,
            width: UtilWidget.horizontalBlock(4),
            height: UtilWidget.horizontalBlock(4),
          )
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

Rav*_*mar 10

你可以试试,

icon: icon!=null? Image.asset(
            icon,
            width: UtilWidget.horizontalBlock(4),
            height: UtilWidget.horizontalBlock(4),
          ):Icon(null)
Run Code Online (Sandbox Code Playgroud)

  • 这并不完全正确,因为该图标仅被隐藏,但该隐藏图标的空间很忙 (3认同)