可编辑
该库允许您轻松创建可编辑的表格和电子表格,可以通过提供初始的行和列数来显示空表,也可以使用预定义的行和列数据集。
特点
- 保存已编辑的行
- 保存已编辑的单元格
- 自定义单元格数据
- 添加空行
- 创建空表
- 可自定义的保存按钮
- 自定义表头
- 斑马纹 - 条纹表
- 样式表边框
入门
在您的Flutter项目的pubspec.yaml文件中,添加以下内容
依赖
dependencies:
...
editable: "^1.1.1"
在您的库中添加以下导入
import 'package:editable/editable.dart';
API
创建表
要创建一个新表,请使用Editable()小部件类,并按如下方式提供表数据属性
-
column:对象数组,例如
示例List cols = [ {"title":'Name', 'index': 1, 'key':'name'}, {"title":'Date', 'index': 2, 'key':'date'}, {"title":'Month', 'index': 3, 'key':'month'}, {"title":'Status', 'index': 4, 'key':'status'}, ];[title]是列标题
[index]代表每列的唯一ID,类型为[int]
[key]是标识符,最好不带空格和特殊字符
-
rows:对象数组,其中每个对象的key代表一列[key];
示例List rows = [ {"name": 'James Joe', "date":'23/09/2020',"month":'June',"status":'completed'}, {"date":'12/4/2020',"month":'March',"name": 'Daniel Paul', "status":'new'}, ];每个对象的不必按与其列相同的顺序排列
-
rowCount:要生成的行数的整数值:如果提供了行数据,则为可选 -
columnCount:要生成的列数的整数值:如果提供了列数据,则为可选 -
columnRatio:每列占据屏幕宽度的比例。这对于缩小和扩展表宽度很有用
示例columnRation: 0.2 //sets each column to occupy 20 percent of screen width
自定义
-
borderColor:表边框的颜色 -
borderWidth:表边框的宽度 -
tdPaddingLeft:表数据单元格左填充 -
tdPaddingTop:表数据单元格顶部填充 -
tdPaddingRight:表数据单元格右填充; -
tdPaddingBottom:表数据单元格底部填充; -
tdAlignment:对齐表数据; -
tdStyle:样式化表数据; -
thPaddingLeft:表头单元格左填充; -
thPaddingTop:表头单元格顶部填充; -
thPaddingRight:表头单元格右填充; -
thPaddingBottom:表头单元格底部填充; -
trHeight:表行高度,不能小于40.0; -
thWeight:表头字重; -
thSize:表头字体大小; -
showSaveIcon:切换保存按钮,如果为[true],则显示一个保存行的图标,
并在右侧添加一列 -
saveIcon:用于保存行数据的图标,例如
dart saveIcon : Icons.add -
saveIconColor:保存图标的颜色 -
saveIconSize:保存图标的大小 -
showCreateButton:显示一个添加新行的按钮,点击时执行 -
stripeColor1:如果设置为true,则第一行的交替颜色 -
stripeColor2:如果设置为true,则第二行的交替颜色; -
zebraStripe:启用斑马纹,默认为false
// 如果启用了zebraStripe,则可以设置[stripeColor1]和[stripeColor2]的颜色 -
createButtonAlign:对齐添加新行的按钮; -
createButtonIcon:创建新行按钮中显示的图标; -
createButtonColor:创建新行按钮的颜色; -
createButtonShape:创建新行按钮的边框形状
createButtonShape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8) ) -
createButtonLabel:创建新行按钮的标签
保存方法
-
onSubmitted:当按下回车键时(桌面用户),或在移动设备上完成编辑时,
会触发[onSubmitted]回调,
它返回已编辑的单元格数据 -
onRowSaved:当按下[saveButton]时,会触发[onRowSaved]回调。
仅返回已编辑行的值,否则返回字符串['no edit']
截图
带有数据的可编辑表(斑马纹)

空电子表格(斑马纹)

空电子表格(无条纹)

带保存图标的表

路线图
以下是该项目下一版本的近期工作
- 可排序列
- 执行列之间的数学运算(进行中)
- 搜索行数据(进行中)
- 将表导出为不同格式
贡献
我强烈鼓励社区积极参与,进一步改进这个
库。您可以修复任何已报告的错误,提出或实现新的
功能,编写测试等。
以下是一些需要记住的要点:
- 在创建新问题之前,请检查开放的问题;
- 通过修复任何现有
错误来帮助我减少开放问题的数量; - 查看路线图,看看您是否可以帮助实现任何新
功能; - 您可以通过为该
库编写单元测试和集成测试来做出贡献; - 如果您有任何与该库目标一致的新想法,
请随时提出功能请求并进行讨论。