我有一個StatefulWidget創建DataTable. 用于填充的資料DataTable來自另一個名為 Post 的類中的靜態方法:
`
static generateData(){
List<Post> postList= [];
postList.add(Post(title: "Coolest Post", numDownVotes: 6, numUpVotes: 9));
postList.add(Post(title: "Covid-19 vaccine found!", numDownVotes: 3, numUpVotes: 67));
postList.add(Post(title: "Unreal ending to basketball game", numDownVotes: 2, numUpVotes: 23));
postList.add(Post(title: "Sample Post", numDownVotes: 2, numUpVotes: 6));
postList.add(Post(title: "What A Save!", numDownVotes: 5, numUpVotes: 34));
return postList;
}
`
我DataCells在表中有這樣的表,使得贊成/反對票的數量位于資料單元格內的行小部件中,以及一個圖示按鈕,用于分別更改或增加/減少贊成票/反對票的數量。所以,我在 post_view 中宣告了一個變數“_posts”,它呼叫generateData()并顯示資料,但我希望能夠操作這些資料并將其傳遞給另一個小部件BarGraph,這將生成動態資料的條形圖。
這是我的BarGraph小部件:
`
class BarGraph extends StatefulWidget {
BarGraph({Key? key, required this.tableData}) : super(key: key);
List<Post>? tableData;
@override
State<BarGraph> createState() => _BarGraphState();
}
`
這里的問題是TabelData根本無法訪問,但我希望能夠獲得標題、numupvotes 和 numdownvotes 以便能夠在圖表中顯示它們。我嘗試使用吸氣劑,但空檢查運算子不適用于它。我完全被卡住了,任何幫助將不勝感激!
uj5u.com熱心網友回復:
使用任何狀態管理方法怎么樣,例如:Bloc、Provider 等。使用這些庫可以解決您的問題,并使您的代碼更有條理。例如,使用 bloc 看起來像
class ManagePost extends Cubit<List<Post>> {
List<Post> postList = [];
void addPost(Post post) {
postList.add(Post);
emit(postList);
}
void deletePost() {}
void updateVote() {}
void getAllPost() {}
}
接下來,將您的視圖包裝在 BlocBuilder 中,它將監聽帖子串列的狀態并更新 UI。
uj5u.com熱心網友回復:
找到答案了!使用 widget.tableData 我能夠訪問傳遞到該變數的資料。
uj5u.com熱心網友回復:
您可以提升狀態或使用狀態管理包
參考
- 提升你的狀態
- 提升狀態
狀態管理包
- 獲取X
- 河莢
- 和更多...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/535507.html
標籤:扑镖
上一篇:選擇非空白的隨機單元格
