him*_*eam 2 dart flutter flutter-pageview
我有一个如下所示的 PageView 小部件:
Widget buildPageView() {
return PageView(
controller: pageController,
onPageChanged: (index) {
pageChanged(index);
},
children: <Widget>[
AddPropertyDescription(pageController: pageController,),
AddPropertyMedia(pageController: pageController),
AddPropertyLocation(pageController: pageController),
AddPropertyDetails(pageController: pageController),
AddPropertyAmenities(pageController: pageController)
],
);
}
Run Code Online (Sandbox Code Playgroud)
我的 PageView 中有五个页面作为小部件,现在我想在页面更改时将数据从一个页面传递到另一个页面,直到最后一页......
我Next在每个页面中都选择了按钮,在下一个按钮 onTap() 中,我只需增加页码即可滑动到下一页,如下所示
onTap: () async{
pageController.animateToPage(
1,
duration: Duration(milliseconds: 300),
curve: Curves.linear,
);
},
Run Code Online (Sandbox Code Playgroud)
当按下下一步按钮并进入下一个屏幕时,我想携带数据并将其传递到下一页。
这里有没有人在颤振中遇到过同样的问题.....
请指导我如何实现这一目标......
Page 小部件可以获取数据,以及用于传递数据的回调,我将解释我的意思。
本buildPageView应传递给小部件的额外的参数:
int data = 0;
void onDataChange(int newData) {
setState(() => data = newData);
}
Widget buildPageView() {
return PageView(
controller: pageController,
onPageChanged: (index) {
pageChanged(index);
},
children: <Widget>[
AddPropertyDescription(pageController: pageController, data: data, onDataChange: onDataChange),
AddPropertyMedia(pageController: pageController, data: data, onDataChange: onDataChange),
AddPropertyLocation(pageController: pageController, data: data, onDataChange: onDataChange),
AddPropertyDetails(pageController: pageController, data: data, onDataChange: onDataChange),
AddPropertyAmenities(pageController: pageController, data: data, onDataChange: onDataChange)
],
);
}
Run Code Online (Sandbox Code Playgroud)
并且小部件本身应该除了参数:
class MyWidget extends StatelessWidget {
const MyWidget({
@required this.data,
@required this.onDataChange,
Key key,
}) : super(key: key);
final int data;
final Function(int) onDataChange;
@override
Widget build(BuildContext context) {
return FlatButton(
onPressed: () => onDataChange(data + 1),
child: Text(data.toString()),
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3804 次 |
| 最近记录: |