【问题标题】:How to access the final parent StatefulWidget class variables from its extended class?如何从其扩展类访问最终的父 StatefulWidget 类变量?
【发布时间】:2021-11-24 19:26:42
【问题描述】:

我有 ExperienceCardFront 一个扩展 _ExperienceCardFrontState 的 StatefulWidget 类。

我正在尝试从其状态 _ExperienceCardFrontState 访问 ExperienceCardFront 中的变量(标记为最终和必需)。

这是我的ExperienceCardFront

class ExperienceCardFront extends StatefulWidget {
  const ExperienceCardFront(
      {Key? key, required this.title, required this.image})
      : super(key: key);

  //the 2 variables I want to get access to from the extended class
  final String title;
  final String image;

  @override
  _ExperienceCardFrontState createState() => _ExperienceCardFrontState();
}

这是我的_ExperienceCardFrontState

class _ExperienceCardFrontState extends State<ExperienceCardFront> {
  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }
  
  @override
  Widget build(BuildContext context) {
    return Container(
       //here I want to get access to the title (or image) variable from ExperienceCardFront
       child: Text(title),
    );
  }

}

当我尝试运行此代码时,抛出以下错误:Undefined name 'title'

【问题讨论】:

  • 你只需要在调用最终参数上的变量名之前添加widget,就像这个例子Text(widget.title)

标签: flutter dart


【解决方案1】:

**试试这个**

class _ExperienceCardFrontState extends State<ExperienceCardFront> {
  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }
  
  @override
  Widget build(BuildContext context) {
    return Container(
       //here I want to get access to the title (or image) variable from ExperienceCardFront
       child: Text(widget.title),
    );
  }

}

【讨论】:

    【解决方案2】:

    你可以调用 widget.title

    @override
          Widget build(BuildContext context) {
            return Container(
               //here I want to get access to the title (or image) variable from ExperienceCardFront
               child: Text(widget.title),
            );
          }
    

    【讨论】:

      猜你喜欢
      • 2021-02-19
      • 2019-07-04
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多