>[danger] 友情提示:构建器目前只支持HisiPHP Pro版本([我要升级](https://www.hisiphp.com/authorize.html))
HisiPHP的表格构建器是基于Layui的Table模块渲染的,所以表格的所有配置均与Layui的Table模块配置一样。
## 基础参数一览表(config)
| 参数 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| cols | Array | Y | | 设置表头,详见下面的表头参数一览表 |
| url | string | N | 当前URL | 异步数据接口 |
| defaultToolbar | Array | N | \['filter'\] | 表头工具栏右侧图标,可选值(filter: 显示筛选图标,exports: 显示导出图标,print: 显示打印图标) |
| width | Number | N | | 设定容器宽度 |
| height | Number | N | | 设定容器高度 |
| cellMinWidth | Number | N | | 所有常规单元格的最小宽度 |
| done | String | N | | 数据渲染完的回调 |
| data | Array | N | | 直接赋值数据展示,设置此参数后url参数配置无效 |
| totalRow | Boolean | N | false | 是否开启合计行区域 |
| page | Boolean | N | false | 开启分页 |
| limit | Number | N | 10 | 每页显示的条数 |
| limits | Array | N | \[10,20,30,40,50,60,70,80,90\] | 每页条数的选择项 |
| loading | Boolean | N | true| 是否显示加载条 |
| title | String | N | | 定义 table 的大标题(在文件导出等地方会用到) |
| text | Object | N | | 自定义文本,如空数据时的异常提示等 |
| skin | Stirng | N | | 用于设定表格风格,可选值: line (行边框风格),row (列边框风格),nob (无边框风格) |
| even | Boolean | N | false | 隔行背景 |
| size | String | N | | 设定表格尺寸,可选值:sm (小尺寸),lg (大尺寸) |
## 表头参数一览表(cols)
| 参数 | 类型 | 必须 | 默认 | 说明
| --- | --- | --- | --- | --- |
| type | String | N | | 设定列类型,目前只支持:`checkbox`、`switch` |
| field | String | N | | 设定字段名,如果无type参数,此参数为必须 |
| title | String | N | | 设定标题名称,如果无type参数,此参数为必须 |
| width | Number/String | N | | 设定列宽 |
| minWidth | Number | N | 60 | 当前常规单元格的最小宽度 |
| LAY\_CHECKED | Boolean | N | false | 是否全选状态(复选框列开启后才有效) |
| fixed | String | N | | 固定列,可选值有:*left*(固定在左)、*right*(固定在右) |
| hide | Boolean | N | false | 是否初始隐藏列 |
| totalRow | Boolean | N | false | 是否开启该列的自动合计功能 |
| totalRowText | String | N | | 用于显示自定义的合计文本 |
| sort | Boolean | N | false | 是否允许排序 |
| unresize | Boolean | N | false | 是否禁用拖拽列宽 |
| edit | String | N | | 单元格编辑类型,可选值:*text*(输入框) |
| event | String | | | 自定义单元格点击事件名 |
| style | String | N | | 自定义单元格样式(CSS样式) |
| align | String | N | | 单元格排列方式,可选值有:*left*(默认)、*center*(居中)、*right*(居右) |
| colspan | Number | N | 1 | 单元格所占列数(一般用于多级表头) |
| rowspan | Number | N | 1 | 单元格所占行数(一般用于多级表头) |
| templet | String | N | | 自定义列模板 |
| toolbar | String | N | | 绑定列工具条 |
| button | Array | N | | 操作按钮,请参考下面的解释 |
>[info] 表头参数type为switch(开关)时,点击开关按钮会自动请求当前控制器的status方法(如果控制器未定义此方法,默认调用内置的通用方法)
>[info] 表头参数设置了edit为text时,会自动将当前单元格编辑后的内容发送至当前控制器的setField方法(如果控制器未定义此方法,默认调用内置的通用方法)
>[info] 表头参数button的格式如下:
> [
['title' => '编辑', 'class' => 'layui-btn', url=>url('edit'), param => ['参数名' => '参数值'], options => ['key' => 'value']],
['title' => '删除', 'class' => 'layui-btn', url=>url('del'), param => ['参数名' => '参数值'], options => ['key' => 'value']],
]
示例代码:
```
public function table()
{
$assign['buildTable']['config'] = [
'page' => true,
'limit' => 20,
'toolbar' => false,
'cols' => [
[
'type' => 'checkbox',
],
[
'field' => 'id',
'title' => 'ID',
'width' => 100,
],
[
'field' => 'title',
'title' => '客户名',
'width' => 200,
],
[
'field' => 'area',
'title' => '城市',
'width' => 200,
],
[
'field' => 'create_time',
'title' => '创建时间',
'width' => 200,
],
// 操作按钮:第一种写法
[
'title' => '操作',
'templet' => '<div><a href='.url('edit').' class="layui-btn layui-btn-xs layui-btn-normal">编辑</a><a href='.url('del').' class="layui-btn layui-btn-xs layui-btn-danger">删除</a></div>',
],
// 操作按钮:使用button的写法【推荐】
[
'title' => '操作',
'button' => [
[
'title' => '编辑',
'class' => 'layui-btn layui-btn-xs layui-btn-normal',
'url' => url('edit'),
'param' => [
'type' => '1', // 固定值示例
'name' => '{{d.title}}',// 使用变量获取当前列的标题
],// 扩展参数[选填]
'options' => [],// 扩展数据,此参数主要是给js用的[选填]
],
[
'title' => '删除',
'class' => 'layui-btn layui-btn-xs layui-btn-danger',
'url' => url('delete'),
'options' => [],// 扩展数据[选填]
],
],
],
];
return $this->assign($assign)->fetch();
}
```
![](https://box.kancloud.cn/8f30427109e9625686d2dc9b5107d3ef_1962x568.jpg)
- 序言
- 环境配置
- 下载及安装
- 目录结构
- 系统配置
- 多语言
- 命令行(pro版)
- 自动生成模块或插件(build)
- 生成模块
- 生成插件
- 自动生成增删改查(crud)
- 第一步:创建数据表
- 第二步:使用crud指令生成
- 自动生成类库文件(make)
- 生成控制器文件(make:controller)
- 生成模型文件(make:model)
- 生成逻辑文件(make:logic)
- 生成服务文件(make:service)
- 生成验证器文件(make:validate)
- 构建器(pro版)
- 表单构建器(form)
- 表单属性设置
- 添加表单项
- 文本框(text)
- 隐藏域(hidden)
- 密码框(password)
- 文本域(textarea)
- 单文件(file)
- 多文件(files)
- 单图(image)
- 多图(images)
- 开关(switch)
- 单选(radio)
- 多选(checkbox)
- 下拉框(select)
- 标签(tag)
- 日期时间(datetime)
- 颜色选择器(color)
- 富文本编辑器(editor)
- 滑块(slider)
- 评分(rate)
- 穿梭框(transfer)
- 进度条(progress)
- 树形(tree)
- 联动(linkage)
- 自定义html(html)
- 分隔线(line)
- 文字(txt)
- 下拉框增强版(select+)
- 数据表格(table)
- 添加表单分组(group)
- 栅格布局(grid)
- 触发器(trigger)
- 通用上传方法
- 表格构建器(table)
- 表格基础配置
- 添加表头工具栏
- 添加表格筛选
- 页面提示(pageTips)
- 引入 JS 文件
- 引入 CSS 文件
- 渲染额外 JS 代码
- 渲染额外 CSS 代码
- 模块开发
- 1.生成模块
- 2.创建菜单
- 3.创建控制器
- 后台通用方法
- 插件开发
- 1.新建插件
- 2.插件配置
- 3.插件控制器
- 4.插件模板
- 5.插件钩子
- 模板替换变量
- 公共函数库
- 后台通用JS方法
- 常见问题
- 官方模块
- CMS内容管理模块
- 目录结构
- 模板标签
- API接口
- 栏目页/内容页
- 小程序发布
- 官方插件
- 第三方登录
- excel插件
- 万能采集
- 采集规则
- 采集内容