메인 실현 자식 구성 요소는 부모 구성 요소 메소드는 메소드에 전달 부모 컴포넌트 서브 어셈블리이다 호출하고 서브 어셈블리 부모 인수를 수정 상위 메소드를 호출한다. 렌더링 봐
부모 구성 요소 구현
부모 요소 서면 _editParentText의 수정 요소의 방법 contentText의 조립체의 도입시의 값과 메소드에 전달
클래스는 {PageParent StatefulWidget 연장 @Override _PageParentState createState () => _PageParentState (); } 클래스 _PageParentState는 주 <PageParent> {확장 문자열 contentText는; @Override 위젯 구축 (BuildContext 컨텍스트) { 반환 비계 ( appBar : AppBar ( 제목 : 텍스트 ( '父级组件'), ), 몸 : 컨테이너 ( 정렬 : Alignment.center, 아이 : 열 ( 어린이 : <위젯> [ 컨테이너 ( 패딩 : EdgeInsets.all (20), 자녀 : 열 ( 어린이 : <위젯> [ 텍스트 ( '这里是父级组件参数'), 텍스트 ( 'contentText $ {}', 스타일 다음 텍스트 스타일 (색상 : Colors.red),) , ), ), PageChildren (editParentText : (글고) => _editParentText (글고)) // 서브 어셈블리 _editParentText () 메소드 통과 ] ) ) ) } // 파라미터 변경 contentText _editParentText (글고) { 와 setState을 (() { contentText = 글고; }); } }
하위 페이지를 달성하는 것입니다
아이에 정의 된 페이지 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) // 부모의 조립 방법을 호출 }) } ) ,] ) ) } }