我正在尝试创建一个函数,可以在其中传递有关颜色名称的参数,但这会显示以下错误:

The getter $colorName isn't defined for the type Colors
我的功能如下:
void makeButton({Colors colorName, int soundNumber}) {
    Container(
      color: Colors.$colorName,
      child: FlatButton(
        onPressed: () {
          print('Hello');
        },
      ),
    );
  }
我这里的错误到底是什么?

最佳答案

这是传递Color的非常小的代码段

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return getContainer(colorName: Colors.yellow);
  }

  Widget getContainer({Color colorName}){
    return Container(
      color: colorName,
        child: Text('Hello, World!'));
  }
}
以您的示例为例
class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return makeButton(colorName: Colors.yellow);
  }

Widget makeButton({Color colorName, int soundNumber}) {
   return Container(
      color: colorName,
      child: FlatButton(
        child:Text('Flat Button'),
        onPressed: () {
          print('Hello');
        },
      ),
    );
  }
}

关于flutter - 为什么我的函数不接受Colors类型的参数名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63114214/

10-12 06:54