我不能使用在子部件中具有可选参数的函数(名称为FixUI)。This is original function declared in parent widgetThis is the line error occured(red line: Underfined~)
我想让fixContact函数参数:fixContact,index,contact,但可选。我该怎么做?flutter有这个功能吗?还有其他办法吗?还是我误解了什么?
我不能使用在子部件中具有可选参数的函数(名称为FixUI)。This is original function declared in parent widgetThis is the line error occured(red line: Underfined~)
我想让fixContact函数参数:fixContact,index,contact,但可选。我该怎么做?flutter有这个功能吗?还有其他办法吗?还是我误解了什么?
4条答案
按热度按时间watbbzwu1#
进行以下更改:
yptwkmov2#
要使小部件参数成为可选参数,您必须使它们可为空或提供默认值。另外,目前,您不指定函数参数,而是指定小部件参数。在这种情况下,如果函数参数在花括号内命名,则它们是可选的。
下面是一个如何向函数提供更多信息的示例。
amrnrhlw3#
我发现了一个愚蠢的错误。。我混淆了构造函数和函数参数。
sg2wtvxw4#
1.使用所需的可选参数在父小部件中定义回调函数。例如:
typedef MyCallback = void Function(int optionalParam);
1.在父小部件中,创建回调函数的示例,并将其作为参数传递给子小部件。如果需要,请确保提供可选参数。例如:
3.在子widget中,定义一个与函数签名类型相同的回调属性。
类ChildWidget扩展StatelessWidget { final MyCallback callback;
});
@override Widget build(BuildContext context){ //需要时使用回调函数返回RaisedButton(onPressed:(){ //你可以使用或不使用可选参数callback来调用回调(42);//提供可选参数},child:Text('调用父回调'),);您的位置
1.当使用父部件和子部件时,将回调函数传递给父部件并相应地处理它。例如:
ParentWidget(回调:(int optionalParam){ //处理父widget print('Optional parameter received:$optionalParam');},)