我一直試圖在我的個人資料類中顯示注冊/登錄期間獲取的用戶詳細資訊,但無法顯示。僅當調整瀏覽器視窗大小或給出輸入時(例如將影像上傳到組態檔),才會顯示詳細資訊。注冊或登錄后不會自動顯示詳細資訊。
螢屏代碼如下:
Future<Map<String, String>> getDetails() async {
final Map<String, String> _details = {
'firstname': '',
'lastname': '',
'username': '',
'bio': '',
};
var storage = const FlutterSecureStorage();
_details['username'] = (await storage.read(key: 'username')).toString();
_details['firstname'] = (await storage.read(key: 'firstname')).toString();
_details['lastname'] = (await storage.read(key: 'lastname')).toString();
_details['bio'] = (await storage.read(key: 'bio')).toString();
return _details;
}
class ProfileInfo extends StatefulWidget {
const ProfileInfo({Key? key}) : super(key: key);
@override
State<ProfileInfo> createState() => _ProfileInfoState();
}
class _ProfileInfoState extends State<ProfileInfo> {
static String url = 'assets/artist_avatar.png';
Map<String, String> details = {
'firstname': '',
'lastname': '',
'username': '',
'bio': '',
};
@override
void initState() {
Future.delayed(Duration.zero,() async {
details = await getDetails();
});
super.initState();
}
在同一個類中顯示細節的代碼:
Text(details['firstname']!, //----------->displaying name
style: const TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.bold,
color: Colors.black87,
)),
Text(details['username']!, //----------->displaying username
style: const TextStyle(
color: Colors.black45,
fontWeight: FontWeight.w100,
)),
uj5u.com熱心網友回復:
試著打電話setState
像這樣:
@override
void initState() {
Future.delayed(Duration.zero,() async {
details = await getDetails();
setState((){});
});
super.initState();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422544.html
標籤:
