首页 > 解决方案 > Flutter 问题:将参数作为命名参数传递给 Widget 构造函数

问题描述

颤振问题。我正在尝试将参数作为命名参数传递给 Widget 构造函数,但出现错误:未定义命名参数“uri”。下面是我定义类的代码,后面是我实例化 Widget 的代码。我被困住了。任何帮助深表感谢!

//Code defining Widget

class VideoPlayerApp extends StatelessWidget {
  VideoPlayerApp({this.uri});
  final Text uri;
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Player Demo',
      home: VideoPlayerScreen(),
    );
  }
}

//Code defining sURI and then instantiating Widget
Text sURI = Text(
        'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4');



onPressed: () {
   Navigator.push(
      context,
      MaterialPageRoute(
         builder: (context) => VideoPlayerApp(uri: sURI),
      ),
   );
},

标签: flutterparametersnamed

解决方案


您应该定义uriString,而不是Text

试试这个:

class VideoPlayerApp extends StatelessWidget {
  VideoPlayerApp({
    Key key,
    this.uri,
  }) : super(key: key);

  final String uri;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Player Demo',
      home: VideoPlayerScreen(),
    );
  }
}

推荐阅读