【问题标题】:Flutter - The getter 'build' isn't defined in a superclass of 'CustomButton'Flutter - getter 'build' 未在'CustomButton' 的超类中定义
【发布时间】:2022-01-10 13:50:48
【问题描述】:

我正在尝试在 Flutter 中创建自定义按钮小部件。它应该基于 ElevatedButton 小部件。不知何故,我收到此错误消息:

getter 'build' 没有在 'CustomButton' 的超类中定义。 尝试将名称更正为现有 getter 的名称,或在超类中定义名为“build”的 getter 或字段。

但是超类肯定有 build 方法。代码如下:

class CustomButton extends ElevatedButton {
  @override
  final VoidCallback onPressed;
  final Widget child;

  @override
  const CustomButton({required this.onPressed, required this.child})
      : super(onPressed: onPressed, child: child);

  Widget build(BuildContext context) {
    return Theme(
      data: Theme.of(context).copyWith(
          buttonTheme: Theme.of(context).buttonTheme.copyWith(
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(15.0)))),
      child: Builder(builder: super.build),
    );
  }
}

【问题讨论】:

  • ElevatedButton 上找不到任何build 方法

标签: flutter inheritance build widget superclass


【解决方案1】:

ElevatedButton 中没有 build 方法,它扩展了 ButtonStyleButtonButtonStyleButton 是一个 StatefulWidget,它也没有 build 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2021-10-19
    • 2021-05-21
    • 2019-12-01
    • 2020-04-10
    • 1970-01-01
    相关资源
    最近更新 更多