在 Flutter 中单击按钮滚动到顶部

Man*_*thK 2 scrollview vertical-scrolling flutter

我是 Flutter 新手,我面临这个问题,ScrollController 下面有一个按钮,当我单击它时。它应该滚动到顶部。

ScrollController 嵌入在 SingleChildScrollView 中

 Widget build(BuildContext context) {
  return Container(
    child: SingleChildScrollView(
              controller: scrollController)
  );
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用

setState(() {
  scrollController.animateTo(0.0,
      duration: const Duration(milliseconds: 300),
      curve: Curves.ease);
}
Run Code Online (Sandbox Code Playgroud)

以下是完整代码

Future<void> nextPressed() async {
final bool connectivity = await ConnectivityManager().isInternetAvailable();
if(connectivity) {
  final FormState form = _formKey.currentState;
  if (form.validate()) {
    form.save();
    updateDOBError(_dobController.text);
    setState(() {
      if(dobErrorString.isEmpty){
        _errorAlertVisibilityDOB = false;
      }else{
        _errorAlertVisibilityDOB = true;
      }
     
      _errorAlertVisibility = true;
    });

  } else {
    updateDOBError(_dobController.text);
    setState(() {
      if(dobErrorString.isEmpty){
        _errorAlertVisibilityDOB = false;
      }else{
        _errorAlertVisibilityDOB = true;
      }
      errorType = RegistrationErrorType.validationError;
      _errorAlertVisibility = true;
    });
  -->  scrollController.animateTo(0.0,
        duration: const Duration(milliseconds: 300), curve: Curves.ease);
  }
}else{
        const SnackBar snackBar =
  SnackBar(content: Text(AppStrings.no_internet));
  Scaffold.of(context).showSnackBar(snackBar);
}}
Run Code Online (Sandbox Code Playgroud)

--> 是我面临问题的地方

所需结果

待解决的问题

MOR*_*ASH 8

单击按钮后使用以下内容

setState((){
_scrollController.animateTo(
    _scrollController.position.minScrollExtent,
    curve: Curves.easeOut,
    duration: const Duration(milliseconds: 500),
 );})
Run Code Online (Sandbox Code Playgroud)