首页 > 解决方案 > Flutter:构建一个带有 Text 类型子参数的容器

问题描述

我是 Flutter 的新手。我想制作一个以 Text 作为参数的容器。我怎样才能做到这一点?这是我的代码:

  class TopBar extends StatefulWidget {
  final Text text;

  TopBar({
    Key key,
    this.text,
  }) : super(key: key);

  _TopBarState _TopBarState = _TopBarState();

  @override
  _TopBarState createState() {
    return this._TopBarState = _TopBarState();
  }
}

class _TopBarState extends State<TopBar> {
  @override
  Widget build(BuildContext context) {
    return Align(
      child: Container(
          child: Row(
            children: [
               // how to add parametrized text here?
            ],
          ),
        ),
      ),
    );
  }
}

谢谢!

标签: flutterdart

解决方案


将数据类型保留为字符串而不是文本。您可以在小部件中使用 widget.text 访问该值。但是,您可以将数据类型保留为文本,但您必须传递一个 Text 小部件。

这是代码:

  class TopBar extends StatefulWidget {
  final String text;

  TopBar({
    Key key,
    this.text,
  }) : super(key: key);

  _TopBarState _TopBarState = _TopBarState();

  @override
  _TopBarState createState() {
    return this._TopBarState = _TopBarState();
  }
}

class _TopBarState extends State<TopBar> {
  @override
  Widget build(BuildContext context) {
    return Align(
      child: Container(
          child: Row(
            children: [
              Text(widget.text),
            ],
          ),
        ),
      ),
    );
  }
}

推荐阅读