繁体   English   中英

如何将小部件构造函数作为参数传递给另一个小部件进行构建

How to pass widget constructor as a parameter for another widget to build

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

有没有办法将一个小部件作为参数传递给另一个小部件?

我的代码具有两个TextWidget BoldWidgetItalicWidget类型的BoldWidget ItalicWidget

abstract class TextWidget extends StatelessWidget {
  final String text;

  TextWidget({
    @required this.text,
  });
}

class BoldWidget extends TextWidget {
  @override
  Widget build(BuildContext context) {
    return Text(this.text, style: TextStyle(fontWeight: FontWeight.bold),);
  }
}

class ItalicWidget extends TextWidget {
  @override
  Widget build(BuildContext context) {
    return Text(this.text, style: TextStyle(fontStyle: FontStyle.italic),);
  }
}

在运行时,我想将任一TextWidget作为参数传递给另一个小部件( TextDisplay ),如下所示:

class TextDisplay extends StatelessWidget {
  final TextWidget widget;
  final String string;

  const TextDisplay({Key key, this.widget, this.string}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return widget(string);
  }
}

在上面的代码中不起作用的是widget(string) ,错误消息为“'widget'不是函数”。

如何将一个小部件作为另一个参数传递,以便可以由另一个类构造它?

我的实际代码无法在传递给TextWidget之前构建TextDisplay因为TextDisplay需要将一些参数应用于TextWidget

1 个回复

您可以使用typedef使用CallBack模式:

  typedef CustomCallBack = TextWidget Function(String value);

  class TextDisplay extends StatelessWidget {
    final CustomCallBack widget;
    final String string;

    const TextDisplay({Key key, this.widget, this.string}) : super(key: key);

    @override
    Widget build(BuildContext context) {
      return widget(string);
    }
  }
1 如何将参数传递给小部件?

我正在开发一个小部件,这里有基本问题。 当用户单击窗口小部件时。 它将进入配置页面。 我在这里使用PendingIntent。 然后在配置页面上,我在这里有一些业务逻辑,我想将结果(即对象)传递回以更新小部件。 我使用下面的代码强制更新小部件 怎样做才合适呢? ...

3 如何将小部件作为参数传递给函数

我想传递一些小部件作为功能的参数,Flutter支持吗? 下面是我的代码。 是否应该将小部件作为参数传递给功能? 这是我想作为参数传递的小部件: class FirstWidget extends StatelessWidget { @override Widget ...

4 如何强制构建另一个小部件?

我有橙色和绿色的 Ball 对象,并且两者的 Offset 作为构造函数传递给两个 Ball 对象。 移动橙色球,如何强制绿色球移动? 我可以更改偏移量,但如何强制绿色 Ball 实例自行构建? 我正在使用堆栈小部件。 ...

2020-09-19 07:29:37 1 31   flutter
5 如何将上下文传递给另一个小部件?

我正在使用带有flutter_local_notifications的应用程序通知。 我的应用程序包含两个小部件。 FirstPage和SecondPage小部件/类。 我的FirstPage小部件的目的是显示将来会发生的警报/通知列表。 而SecondPage小部件的目的是创建通知。 ...

6 如何在类构造函数参数中动态传递小部件

这是我在 Stackoverflow 中的第一个问题。 当我们将它作为类构造函数参数传递时,我试图在另一个 StatefulWidget 中调用它。 所以我有这个自定义小部件: 我想在另一个像这样的小部件中使用(传入类构造函数参数) 这是我的第一个代码: 但我有这个错误 我意识到 ...

7 如何在flutter中将Widget传递给const构造函数?

我有一个类可以在我的 flutter 应用程序中存储标签的标题、正文和图标。 我正在尝试使用创建所有选项卡的列表 但是它一直显示错误,无论我是否添加 const,都必须使用常量值初始化 const 变量。 Calculator()只是 StatefulWidget。 因此,我将不胜感激任何 ...

10 将方法作为参数传递给小部件

我有一个自定义按钮小部件: 然后在父小部件中,我想将一个onPressed方法传递给这个按钮小部件: 如何告诉按钮小部件将myMethod用于onPress ? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM