簡體   English   中英

錯誤:沒有為 class 'ScaffoldState' 定義方法 'showSnackBar'

[英]Error: The method 'showSnackBar' isn't defined for the class 'ScaffoldState'

`lib/auth/login.dart:49:40: 錯誤:未為 class 'ScaffoldState' 定義方法 'showSnackBar'。

  • 'ScaffoldState' 來自 'package:flutter/src/material/scaffold.dart' ('../../flutter/packages/flutter/lib/src/material/scaffold.dart')。 嘗試將名稱更正為現有方法的名稱,或定義名為“showSnackBar”的方法。 返回 _scaffoldKey.currentState.showSnackBar(SnackBar( ^^^^^^^^^^^^^`

if (response.statusCode == 401) { setState(() => isLoading = false); return _scaffoldKey.currentState.showSnackBar(SnackBar( content: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Container(child: Icon(Icons.error)), Text('Invalid username or password'), ], ), action: SnackBarAction( label: 'UNDO', onPressed: () {}, ), )); } }

要顯示SnackBar ,請從小部件樹(更准確地說是元素樹)的祖先查找ScaffoldMessenger 例如:

ScaffoldMessenger.of(context).showSnackBar(snackBar);

您可以從官方文檔中閱讀更多相關信息和示例代碼: https://docs.flutter.dev/cookbook/design/snackbars

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM