Dart 为参数设置默认值 [英] Dart set default value for parameter

查看:48
本文介绍了Dart 为参数设置默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Flutter 框架中,我试图将参数的默认值设置为 borderRadius,在此示例中,我该如何实现?当我尝试设置时,我得到 可选参数的默认值必须是常量 错误,例如:

in Flutter framework i'm trying to set default value for parameters as borderRadius, in this sample how can i implementing that? i get Default values of an optional parameter must be constant error when i try to set that, for example:

class SimpleRoundButton extends StatelessWidget {
  final BorderRadius borderRadius;
  SimpleRoundButton({
  }):this.borderRadius = BorderRadius.circular(30.0);
}


class SimpleRoundButton extends StatelessWidget {
  final BorderRadius borderRadius= BorderRadius.circular(30.0);
  SimpleRoundButton({
    this.borderRadius,
  });
}


class SimpleRoundButton extends StatelessWidget {
  final BorderRadius borderRadius;
  SimpleRoundButton({
    this.borderRadius=  BorderRadius.circular(30.0)
  });
}

所有这些样本都是错误的

all of this samples are incorect

推荐答案

BorderRadius.circular() 不是 const 函数,因此您不能将其用作默认值.

BorderRadius.circular() is not a const function so you cannot use it as a default value.

为了能够设置常量圆形边框,您可以使用 BorderRadius.all 函数,其常量如下所示:

To be able to set the const circular border you can use BorderRadius.all function which is const like below:

class SimpleRoundButton extends StatelessWidget {
  final BorderRadius borderRadius;
  SimpleRoundButton({
    this.borderRadius: const BorderRadius.all(Radius.circular(30.0))
  });

  @override
  Widget build(BuildContext context) {
    return null;
  }
}

这篇关于Dart 为参数设置默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆