fromMap static method

List<Widget> fromMap(
  1. Map<String, dynamic> data, {
  2. int columnNum = 2,
  3. Map<int, Widget>? slots,
  4. bool? dense,
  5. VisualDensity? visualDensity,
  6. double? minLabelWidth,
  7. double? minLeadingWidth,
  8. double? horizontalGap,
  9. TextStyle? contentTextStyle,
  10. TextStyle? labelTextStyle,
  11. TextAlign? contentTextAlign,
  12. EdgeInsetsGeometry? padding,
  13. Decoration? decoration,
  14. double? spacing,
  15. int? contentMaxLines,
})

通过指定 data 数据生成 TxDataRow 列表

columnNum 用来控制列数, 如列数为1,请优先考虑使用 TxCell.fromMap

Implementation

static List<Widget> fromMap(
  Map<String, dynamic> data, {
  final int columnNum = 2,
  Map<int, Widget>? slots,
  bool? dense,
  VisualDensity? visualDensity,
  double? minLabelWidth,
  double? minLeadingWidth,
  double? horizontalGap,
  TextStyle? contentTextStyle,
  TextStyle? labelTextStyle,
  TextAlign? contentTextAlign,
  EdgeInsetsGeometry? padding,
  Decoration? decoration,
  double? spacing,
  int? contentMaxLines,
}) {
  final List<Widget> cells = TxCell.fromMap(
    data,
    slots: slots,
    dense: dense,
    visualDensity: visualDensity,
    minLeadingWidth: minLeadingWidth,
    minLabelWidth: minLabelWidth,
    minVerticalPadding: 0,
    horizontalGap: horizontalGap,
    labelTextStyle: labelTextStyle,
    contentTextStyle: contentTextStyle,
    contentTextAlign: contentTextAlign,
    padding: EdgeInsets.zero,
    contentMaxLines: contentMaxLines,
  );

  final int last = cells.length;

  return [
    for (int i = 0; i < cells.length; i += columnNum)
      TxDataRow(
        cells: cells.sublist(i, i + columnNum > last ? last : i + columnNum),
        decoration: decoration,
        padding: padding,
        spacing: spacing,
      ),
  ];
}