微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter:我正在尝试使用扩展类包装Text小部件,但出现“未定义命名参数'child'的错误”

如何解决Flutter:我正在尝试使用扩展类包装Text小部件,但出现“未定义命名参数'child'的错误”

当我在Expanded类中放入“ child:Text(...)”时,它告诉我未定义child,我不知道该怎么做。

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,),);
  }
}

解决方法

由于扩展窗口小部件,您收到了错误消息。

通常,展开式窗口小部件直接放置在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,),],);
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。