メインの実現の子コンポーネントは、コンポーネントのメソッド親がメソッドに渡された親コンポーネントのサブアセンブリでコールし、その後、サブアセンブリ内の親引数を変更するために、親メソッドを呼び出します。レンダリングを見てください
親コンポーネントの実装
親コンポーネント書面で_editParentText変性成分の方法はcontentText値およびサブアセンブリの導入時にメソッドに渡さを
クラスPageParentは{StatefulWidgetを拡張 @Override _PageParentState createState()=> _PageParentState(); } クラス_PageParentStateはステート<PageParent> {延びている 文字列をcontentText。 @Override ウィジェットの構築(BuildContextコンテキスト){ リターン足場( アプリケーションバー:アプリケーションバー( タイトル:テキスト( '父级组件')、 )、 ボディ:コンテナ( アライメント:Alignment.center、 子供:カラム( 子供:<ウィジェット> [ コンテナ( パディング:EdgeInsets.all(20)、 子供:カラム( 子供:<ウィジェット> [ テキスト( '这里是父级组件参数'、)、 テキスト( 'contentText $ {}'、スタイル:TEXTSTYLE(色:Colors.red)) ]、 )、 )、 _editParentTextを渡す(のEditText)=> _editParentText(のEditText))//サブアセンブリ:PageChildren(editParentText ()メソッド ] ) ) ); } //パラメータ変更contentText _editParentText(のEditText){ SETSTATE((){ contentText =のEditText; }); } }
子ページは達成することです
ページ子で定義されているでeditParentTextの親上パスを受信するための方法、及び、直接介してwidget.editParentText(「返されるパラメータ」)即ちコール親コンポーネント_editParentText方法
クラスPageChildrenはStatefulWidget {延び 最終editParentTextと、 CONST PageChildren({キーキー、this.editParentText}):スーパー(キー:キー) @Override _PageChildrenState createState()=> _PageChildrenState(); } クラス_PageChildrenStateはステート<PageChildren> {延び TextEditingController _controller = TextEditingController()。 @Overrideの ウィジェットのビルド(BuildContextコンテキスト){ (コンテナを返し アライメント:Alignment.center、 色:Colors.grey、 子供:カラム( 子供:<ウィジェット> [ テキスト( '这里是子级组件')、 コンテナ( 幅:200 、 色:色。白、 マージン:EdgeInsets.symmetric(縦:30)、 子供:テキストフィールド( コントローラ:_controller、 )、 )、 RaisedButtonは( 子:( 'パラメータを変更する'テキスト)、 onPressed:(){ SETSTATE(() { widget.editParentText(_controller.text); //親の組立方法を呼び出します }); } ) ] ) ); } }