我可以确认这个问题发生在2.5以上的flutter中。使用2.2.3就可以了。问题是为什么这个功能在 2.5 中被删除了?那么如何在flutter 2.5中启用它呢?
\n我正在使用桌面浏览器在 flutter web 上使用 SingleChildScrollView 。滚动仅适用于鼠标滚轮,不适用于鼠标单击(拖动)。如何将鼠标点击映射为像移动设备一样触摸和滚动?
\nimport \'package:flutter/material.dart\';\n\nvoid main() {\n runApp(const MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n const MyApp({Key? key}) : super(key: key);\n @override\n Widget build(BuildContext context) {\n return MaterialApp(\n title: \'Flutter Demo\',\n theme: ThemeData(\n primarySwatch: Colors.blue,\n ),\n home: SingleChildScrollView(\n child: Column(\n children: List<Widget>.generate(50, (i) => Text(i.toString())).toList(),\n ),\n ),\n );\n }\n}\nRun Code Online (Sandbox Code Playgroud)\nflutter doctor -v\n[\xe2\x9c\x93] Flutter (Channel master, 2.6.0-6.0.pre.6, on Ubuntu 20.04.3 LTS 5.11.0-34-generic, locale en_US.UTF-8)\n \xe2\x80\xa2 Flutter version 2.6.0-6.0.pre.6 at …Run Code Online (Sandbox Code Playgroud) 在flutter中,我们可以将一个函数声明为变量并像这样调用它
MyWidget((){print('HI');});
class MyWidget extends StatelessWidget{
final Function sayHi;
MyWidget(this.sayHi);
@override
Widget build(BuildContext context) {
sayHi();
return ...
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果sayHi()是异步函数呢?如何将异步函数声明为变量?似乎没有像AsyncFunction. 那么如何实现呢?