![](/img/trans.png)
[英]How to pass data from a child Stateful widget to Parent Widget in Flutter
[英]How to access data of child widget in parent in flutter?
我想僅在我想知道父小部件中的子(或子小部件)小部件中某個字段的值時才知道。
在這種情況下,使用Callback或InheritedWidget / Provider無效,因為每次子項值發生變化時,它都會向我提供信息。 當父母中有一個動作時,我只要求孩子的價值。 因此,傾聽所有更改是一項開銷。
另一種選擇是使用密鑰從子級中獲取信息,但是子級可以是多個子級,因此必須創建那么多密鑰,並以某種方式將其附加到子級上。 而且鑰匙有點貴。
另一種選擇是存儲孩子的實例並從中獲取價值。
對於一個簡單的任務,每個選項都顯得有些過分。 我贊成關鍵方法,因為它給人一種感覺,它們是針對此類情況創建的。 有誰對這種情況有更好的了解?
一個簡單的用例是:
想象一個父母在中間有一個PageView,還有一個下一個按鈕。 中間的頁面包含一個可更改其值的滑塊。 當我們按下一步時,我們想知道滑塊的最終值是多少。
為什么看起來如此困難是有原因的:您不應該這樣。
窗口小部件有目的地非常有限地強制執行單向數據流,這對於大型應用程序的可維護性至關重要。
而不是讀取子孫的狀態,您應該通過繼承的小部件和類似的模式來“提升狀態”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.