一款封装系统 Table 的自用的Flutter 表格组件

安装

flutter pub add flutter_app_table

使用

导入库

import 'package:flutter_app_table/flutter_app_table.dart';

AppTable

Widget build(BuildContext context) {
    return AppTable(
        columnCount: 3, // 设置列(必须)
    );
}

AppTable 具体属性说明

字段 类型 说明
columnCount int 设置表格列数【必须】
rowCount int 设置表格行数
defaultColumnWidth double 设置默认每一列的宽度
rowBuilder AppTableRowBuilder 构建表格行内容
headerBuilder AppTableColumnBuilder 构建表头的内容
columnWidthBuilder AppTableColumnWidthBuilder 自定每一列的宽度
headerDecoration Decoration 表头的外观
rowDecorationBuilder AppTableRowDecorationBuilder 每一行的外观设置
border TableBorder 表格边框
controller AppTableController 表格数据源控制器

AppTableCell 属性说明

字段 类型 说明
builder WidgetBuilder 绘制Cell组件
height double 单元格的高度默认40
backgroundColor Color 单元格背景颜色默认白色
selectRowColor Color 单元格选中时的背景颜色
alignment AlignmentGeometry 布局方式 默认居中
padding EdgeInsets 设置单元格的内边距默认为 0
工厂方法

空的

AppTableCell.empty()

文本展示

AppTableCell.text({
  required String text,
  TextStyle textStyle = const TextStyle(
    fontSize: 14,
    color: Color(0xFF333333),
  ),
  double height = 40,
  Color backgroundColor = const Color(0xFFFFFFFF),
  Color? selectRowColor,
  AlignmentGeometry alignment = Alignment.center,
  EdgeInsets padding = const EdgeInsets.all(0),
  Key? key,
})

可编辑

AppTableCell.textEdit({
  required String text,
  TextStyle textStyle = const TextStyle(
    fontSize: 14,
    color: Color(0xFF333333),
  ),
  double height = 40,
  Color backgroundColor = const Color(0xFFFFFFFF),
  TextEditingController? controller,
  Color? selectRowColor,
  AlignmentGeometry alignment = Alignment.center,
  EdgeInsets padding = const EdgeInsets.all(0),
  List<TextInputFormatter> inputFormatters = const [],
  TextInputType? keyboardType,
  Key? key,
  ValueChanged<String?>? onSubmitted,
})