Flutter:我正在尝试使用扩展类包装 Text 小部件,但出现“未定义命名参数‘child’”错误
Posted
技术标签:
【中文标题】Flutter:我正在尝试使用扩展类包装 Text 小部件,但出现“未定义命名参数‘child’”错误【英文标题】:Flutter: I'm trying to wrap a Text widget with the expanded class but I get "the named parameter 'child' isn't defined" error 【发布时间】:2021-02-14 10:55:44 【问题描述】:当我将“child: Text(...)” 放入 Expanded 类时,它告诉我孩子没有定义,我不知道该怎么做。
class _AppBarButton extends StatelessWidget
final String title;
final Function onTap;
const _AppBarButton(
Key key,
this.title,
this.onTap,
) : super(key: key);
@override
Widget build(BuildContext context)
return GestureDetector(
onTap: onTap,
child: Expanded(
child: Text( // this is where the child isn't defined.
title,
style: const TextStyle(
color: Colors.white,
fontSize: 16.0,
fontWeight: FontWeight.w600,
),
),
),
);
【问题讨论】:
您可以在Row
、Column
或Flex
小部件中使用Expanded
:api.flutter.dev/flutter/widgets/Expanded-class.html
【参考方案1】:
由于 Expanded 小部件,您会收到错误消息。
通常,扩展小部件直接放置在 Flex 小部件中。
删除扩展小部件或使用列或行包装扩展小部件,如下代码:
class _AppBarButton extends StatelessWidget
final String title;
final Function onTap;
const _AppBarButton(
Key key,
this.title,
this.onTap,
) : super(key: key);
@override
Widget build(BuildContext context)
return GestureDetector(
onTap: onTap,
child: Column(
children: [
Expanded(
child: Text(
title,
style: const TextStyle(
color: Colors.black,
fontSize: 16.0,
fontWeight: FontWeight.w600,
),
),
),
],
),
);
【讨论】:
我最初是连续的,我只是将它更改为我发布它的方式,因为我不确定这是否是问题所在。我将发表一篇新文章,因为我不能在这里发布原始代码,但它给了我同样的问题,在这个问题中,扩展的类是连续的,其中有一行包含 _AppBarButton。我还尝试将 flex 放在行周围,我得到了同样的错误,我尝试将 flex 放在 _AppBarButtons 周围,它仍然给了我同样的错误。奇怪的是,虽然它有一个错误扩展类实际上是在做它应该在应用程序中做的事情。 我正要发布原始代码,但我重新启动了 VS 代码并且错误消失了,我想我忘了做旧的关闭和打开它:)以上是关于Flutter:我正在尝试使用扩展类包装 Text 小部件,但出现“未定义命名参数‘child’”错误的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:在 Column 中包装 Layoutbuilder 和 Text 时出错