flutter 通过GlobalKey在自定义Widget外部获取其state刷新页面

PageA的定义如下

class PageA extends StatefulWidget {
  PageA({Key key}) : super(key: key);

  @override
  PageAState createState() {
    return PageAState();
  }
}

class PageAState extends State<PageA> {
  static GlobalKey homeKey = GlobalKey();
  //关键代码
  static currentInstance() {
  	var state = PageAState.homeKey.currentContext.findAncestorStateOfType();
    return state;
  }
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return return Scaffold(
        key: homeKey,
        body: Container();
    );
  }
  reloadData() {
  	setState(() {});
  }
}

在 PageB 里调用 PageAState 的 reloadData() 方法

class PageB {
	buttonClick() {
		PageAState.currentInstance().reloadData();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值