小编Lui*_*lte的帖子

Flutter - 如何使用按钮从 PageView 刷新某些页面?

我有一个 Stateful 类,构建的返回是一个 PageView,每个页面都有一个 Scafold 和一个 body。

我需要的是,我的第一页在 Scafold 中有一个操作按钮,用于刷新整个页面(或者重建我的整个类,如果可以的话)。

我尝试从按钮在 onTap 中创建 setState,并创建 StreamController,但是,它们都不能解决我的问题。

import 'package:flutter/material.dart';
import 'package:plataforma_base/animations/loader.dart';
import 'package:plataforma_base/pages/home_body.dart';
import '../constantes/constantes.dart';
import 'dart:async';


class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  final _pageController = PageController(
    initialPage: 0,
  );

  final StreamController _stream = StreamController.broadcast();


  @override
  void dispose() {
    _stream.close();
    super.dispose();
  }

  void _refreshPage(){
    _stream.sink.add(null);
  }

  @override
  Widget build(BuildContext context) {
    return
      PageView(
        controller: _pageController,
        scrollDirection: Axis.vertical,
        physics: NeverScrollableScrollPhysics(),
        children: <Widget>[
          Scaffold( …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

flutter ×1

flutter-layout ×1