【问题标题】:Flutter passing data to children widgetsFlutter 将数据传递给子小部件
【发布时间】:2021-07-02 09:00:16
【问题描述】:

使用的小部件越多,从父级到子级传递数据可能会很混乱,从子到子再​​到子。 有没有办法在不继续传递的情况下使用第一个父亲的数据,提供者用于在同一级别的小部件之间,屏幕之间传递数据,但我的意思是一个屏幕有很多孩子的情况。

import 'package:flutter/material.dart';

class FirstFather extends StatelessWidget {
  const FirstFather({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Child(
      prop: "exmaple",
    );
  }
}

class Child extends StatelessWidget {
  final String prop;
  const Child({Key key, this.prop}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      child: Grandson(
        prop: prop,
      ),
    );
  }
}

class Grandson extends StatelessWidget {
  final String prop;
  const Grandson({Key key, this.prop}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text(prop),
    );
  }
}

【问题讨论】:

  • 请描述更多或举例说明。
  • 我添加了示例

标签: flutter


【解决方案1】:

使用 InheritedWidget:

https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html

当你把它放在你的小部件树的顶部时,所有的孩子都可以访问数据。

【讨论】:

  • 和使用provider不一样?
  • 看视频你就明白了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 2022-11-27
  • 2021-10-17
  • 2021-10-12
  • 2022-01-16
相关资源
最近更新 更多