目录

sort_child_properties_last

在 widget 实例创建中,将子属性排序到最后。

此规则从 Dart 2.4 开始可用。

规则集: flutter

此规则有快速修复可用。

详情

#

在 widget 实例创建中,将子属性排序到最后。这可以提高可读性,并且在编辑器(例如 IntelliJ)中,在具有 UI 代码指南的 IDE 中,在正确的顺序中,属性会清晰地与构造函数调用相关联,并与子项分开,从而最适合 UI 代码可视化。

不良示例

dart
return Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
  ),
  body: Center(
    child: Column(
      children: <Widget>[
        Text(
          'You have pushed the button this many times:',
         ),
        Text(
          '$_counter',
          style: Theme.of(context).textTheme.display1,
         ),
      ],
      mainAxisAlignment: MainAxisAlignment.center,
    ),
    widthFactor: 0.5,
  ),
  floatingActionButton: FloatingActionButton(
    child: Icon(Icons.add),
    onPressed: _incrementCounter,
    tooltip: 'Increment',
  ),
);

良好示例

dart
return Scaffold(
  appBar: AppBar(
    title: Text(widget.title),
  ),
  body: Center(
    widthFactor: 0.5,
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        Text(
          'You have pushed the button this many times:',
         ),
        Text(
          '$_counter',
          style: Theme.of(context).textTheme.display1,
         ),
      ],
    ),
  ),
  floatingActionButton: FloatingActionButton(
    onPressed: _incrementCounter,
    tooltip: 'Increment',
    child: Icon(Icons.add),
  ),
);

例外:允许在 `child` 属性之后使用带有函数表达式的参数。

用法

#

要启用 `sort_child_properties_last` 规则,请在您的analysis_options.yaml 文件中的 **linter > rules** 下添加 `sort_child_properties_last`

analysis_options.yaml
yaml
linter:
  rules:
    - sort_child_properties_last