gpt4 book ai didi

flutter - 事件的返回函数

转载 作者:IT王子 更新时间:2023-10-29 06:52:29 24 4
gpt4 key购买 nike

我想调用一个函数,该函数将返回另一个函数以用作文本字段输入的 onChange 事件处理程序。

我正在尝试下面的代码,但由于某种原因,模拟器构建过程卡住了,没有显示任何错误并且模拟无法正常工作。

Function testing(Counter counter) {
var somefunction = (String s) {
counter.increment();
};
return somefunction;
}


//widget class
@override
Widget build(BuildContext context) {
final counter = Provider.of<Counter>(context);
return TextField(
onChanged: testing(counter),
decoration: InputDecoration(labelText: _placeholder),
);
}

最佳答案

这是一个函数返回另一个函数作为结果的例子

bool Function(String) testing(Counter counter) {
var somefunction = (String s) {
counter.increment();
};
return somefunction;
}

这个语句也可以简化为

bool Function(String) testing(Counter counter) => (String s) { 
counter.increment();
};

为了可读性,你可以定义一个 typedef .可能最常用的一个是:

typedef WidgetBuilder = Widget Function(BuildContext context);

所以原始的示例代码可能会被转换成类似的东西

typedef StringTester = bool Function(String);
StringTester testing(Counter counter) => (String s) {
counter.increment();
};

关于flutter - 事件的返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57243560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com