Class Dart确保类中的可选列表参数不为null
与boolClass 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
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]});
不!好的,这似乎是我们需要的,谢谢你的帮助。