Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class Dart确保类中的可选列表参数不为null_Class_Flutter_Dart_Null - Fatal编程技术网

Class Dart确保类中的可选列表参数不为null

Class Dart确保类中的可选列表参数不为null,class,flutter,dart,null,Class,Flutter,Dart,Null,与boolbold参数不同,padding必须是可选的,因此如果我没有传递任何padding参数,但它不会接受构造函数中的任何值,则必须为0 class QText extends StatelessWidget { QText(this.text, this.size, {this.align, this.bold = false, this.colour, this.font, this.padding}); final String text; final dou

与bool
bold
参数不同,
padding
必须是可选的,因此如果我没有传递任何padding参数,但它不会接受构造函数中的任何值,则必须为0

class QText extends StatelessWidget {
  QText(this.text, this.size,
      {this.align, this.bold = false, this.colour, this.font, this.padding});

  final String text;
  final double size;
  final bool bold;
  final Color colour;
  final String font;
  final TextAlign align;
  final List<double> padding;

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.fromLTRB(padding[0], padding[1],
          padding[2], padding[3]),
      child: Text(
          text,
          textAlign: align,
          style: TextStyle(
            fontSize: size,
            fontWeight: (bold) ? FontWeight.bold : FontWeight.normal,
            fontFamily: (font != '') ? font : '',
            color: colour,
          ),
        ),
    );
  }
}
class QText扩展了无状态小部件{
QText(this.text,this.size,
{this.align,this.bold=false,this.color,this.font,this.padding});
最终字符串文本;
最终双倍尺寸;
最后的布尔黑体;
最终颜色;
最终字符串字体;
最终文本对齐;
最终列表填充;
@凌驾
小部件构建(构建上下文){
返回填充(
填充:EdgeInsets.fromLTRB(填充[0],填充[1],
填充[2],填充[3],
子:文本(
文本,
text对齐:对齐,
样式:TextStyle(
字体大小:大小,
fontWeight:(粗体)?fontWeight.bold:fontWeight.normal,
fontFamily:(字体!=“”)?字体:“”,
颜色:颜色,
),
),
);
}
}
我似乎无法设置
QText(this.text,this.size,
{this.align,this.bold=false,this.color,this.font,this.padding=[0.0,0.0,0.0,0.0]]})
或类似的东西在抛出错误时工作。
可选参数的默认值必须是常量。
而且我也不能设置
最终列表填充??[0.0,0.0,0.0,0.0];

如果我没有为它传递一个参数,我怎么能给它一个默认值呢?因为它毕竟应该是可选的,但
填充
小部件也不接受任何填充。

您是否尝试过:

QText(this.text,this.size,{this.align,this.bold=false,this.color,this.font,this.padding=const[0,0,0]});

不!好的,这似乎是我们需要的,谢谢你的帮助。