Flutter - 触发另一个小部件方法,该小部件在另一个文件中
Flutter - Triggering another widgets method which widget is in another file
我目前正在学习 Flutter 并坚持使用这个。我也是编程新手,所以请温和地解释 :)。
我正在尝试为自己建立一个网站作为一个学习项目。网站通常由 2 个小部件组成。 3 个页面的 AppBar 和 PageView。这是我创造的;
现在,header 和 body 是单独的文件,您可以从这 2 个文件中看到。
我也想从 header 触发上一页或下一页按钮。我会将它们连接到它们的页码,但我想弄清楚如何从 header.
做到这一点
谢谢。
我解决了这个问题如下;
创建了一个 class 用于包含页码并通知侦听器页面更改。
class PageState extends ChangeNotifier {
var _currentpage = 0;
setPage(int pageNum) {
if (pageNum != _currentpage) {
_currentpage = pageNum;
print(currentPage);
notifyListeners();
}
}
int get currentPage => _currentpage;
}
为正文部分的当前页面更改创建了一个侦听器,如下所示;
@override
Widget build(BuildContext context) {
var statepage = Provider.of<PageState>(context, listen: false);
void goToPage() {
pageStateControl.animateToPage(statepage.currentPage,
duration: Duration(seconds: 1), curve: Curves.easeInCubic);
}
statepage.addListener(goToPage);
每当页码发生变化时,状态页面侦听器就会触发页面视图小部件文件内的 goToPage 方法。
我目前正在学习 Flutter 并坚持使用这个。我也是编程新手,所以请温和地解释 :)。
我正在尝试为自己建立一个网站作为一个学习项目。网站通常由 2 个小部件组成。 3 个页面的 AppBar 和 PageView。这是我创造的;
现在,header 和 body 是单独的文件,您可以从这 2 个文件中看到。
我也想从 header 触发上一页或下一页按钮。我会将它们连接到它们的页码,但我想弄清楚如何从 header.
做到这一点谢谢。
我解决了这个问题如下;
创建了一个 class 用于包含页码并通知侦听器页面更改。
class PageState extends ChangeNotifier {
var _currentpage = 0;
setPage(int pageNum) {
if (pageNum != _currentpage) {
_currentpage = pageNum;
print(currentPage);
notifyListeners();
}
}
int get currentPage => _currentpage;
}
为正文部分的当前页面更改创建了一个侦听器,如下所示;
@override
Widget build(BuildContext context) {
var statepage = Provider.of<PageState>(context, listen: false);
void goToPage() {
pageStateControl.animateToPage(statepage.currentPage,
duration: Duration(seconds: 1), curve: Curves.easeInCubic);
}
statepage.addListener(goToPage);
每当页码发生变化时,状态页面侦听器就会触发页面视图小部件文件内的 goToPage 方法。