flutter定义statefulwidget如果必须接收关键字但具体值不确定的情况下,可以使用required

class MyCustomWidget extends StatefulWidget {
  final int sortid;
  const MyCustomWidget({
    Key? key,
    required this.sortid,
    // 其他参数
  }) : super(key: key);

  
  _MyCustomWidgetState createState() => _MyCustomWidgetState();
}

就像这段代码中的required this.sortid,因为前面final修饰的时候,我知道它是int类型,但是加了int这个类型,后面就得给它指定一个int的值。而这个值我暂时还不知道(必须得等到需要创建该组件的时候,根据序号,动态传给它),所以就得用required来修饰,这样可以让我不必在此赋值。这地方卡了我老半天,而且有点坑的是,因为这个参数可能是连着一排写的,如果第一个参数就有required修饰,会让人误以为后面的都被修饰了,导致没加这个东西,就一直报错。一个required只管一个变量。

你可能感兴趣的:(flutter,开发语言,required)