當用戶單擊博客詳細資訊頁面底部的下一個或上一個內容按鈕時,我希望重新生成相同的詳細資訊頁面。我的解決方案:
Visibility(
visible: widget.index < _listLength ? true : false,
child: TextButton(
onPressed: () {
Route route = MaterialPageRoute(
builder: (c) => DetailPage(
index: widget.index 1,
detailDataList: widget.detailDataList,
));
Navigator.push(context, route);
},
child: Text(
'Sonraki Yaz?',
style: TextStyle(color: mPrimaryColor),
),
),
)
問題:Detail Page 每次創建時都會創建一個新頁面,這意味著額外的不必要的成本。如何使用串列中的新資料創建詳細資訊頁面?
Route route = MaterialPageRoute(
builder: (c) => DetailPage(
index: widget.index 1,
detailDataList: widget.detailDataList,
));
總結:當用戶點擊詳細頁面底部的下一個內容按鈕時,應該用串列中的下一個資料重建同一頁面,但新頁面,而不是前一頁。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
Visibility(
visible: widget.index < _listLength ? true : false,
child: TextButton(
onPressed: () {
widget.index = widget.index 1;
setState((){});
},
child: Text(
'Sonraki Yaz?',
style: TextStyle(color: mPrimaryColor),
),
),
)
uj5u.com熱心網友回復:
你有很多選擇: 1 - 你可以更新頁面而不是在當前頁面上推送一個頁面。2 - 您可以使用 popAndPushNamed 代替 push ,此功能將彈出當前頁面并推送另一個頁面。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/512893.html
標籤:扑镖颤动的综合浏览量
上一篇:http呼叫中的回應正文為空
