主题
CatchTable 构建
创建表格
要创建一个表格,请使用 API 端点实例化 Table
类:
php
use CatchForm\Table\Table;
$table = new Table('https://api.example.com/data');
配置表格属性
您可以使用流畅的方法配置表格的各种属性。以下是一些常见的配置示例:
设置表格高度
php
$table->height('400px'); // 设置表格的高度。
设置表格边框
php
$table->border('1px solid #ccc'); // 设置表格的边框样式。
设置分页
php
$table->pagination(true) // 启用分页。
->limit(10) // 设置每页的项目数量。
->page(1); // 设置当前页码。
设置尺寸
php
$table->size('large'); // 设置表格的尺寸(例如:'large'、'small')。
添加列
您可以使用 column
方法在表格中定义列:
php
$table->column('姓名', 'name') // 添加一个标签为 '姓名',属性为 'name' 的列。
->column('邮箱', 'email'); // 添加一个标签为 '邮箱',属性为 'email' 的列。
搜索功能
表单构建器允许您为表格添加搜索功能:
php
$table->isShowSearch(true); // 启用搜索功能。
$table->input('按姓名搜索', 'name'); // 添加一个用于按姓名搜索的输入框。
$table->select('按状态过滤', 'status'); // 添加一个用于按状态过滤的选择框。
JSON 序列化
Table
类实现了 JsonSerializable
接口,允许您轻松将表格配置转换为 JSON 格式:
php
$json = json_encode($table); // 将表格配置转换为 JSON 格式。
可用方法
方法 | 描述 |
---|---|
height(string $height) | 设置表格的高度。 |
border(string $border) | 设置表格的边框样式。 |
size(string $size) | 设置表格的尺寸(例如:'large'、'small')。 |
pagination(bool $pagination) | 启用或禁用分页。 |
limit(int $limit) | 设置每页的项目数量。 |
page(int $page) | 设置当前页码。 |
layout(string $layout) | 设置表格的布局。 |
sort(array $sort) | 设置表格的排序选项。 |
showOperation(bool $isShow) | 显示或隐藏表格中的操作。 |
showTools(bool $isShow) | 显示或隐藏工具栏。 |
primaryName(string $name) | 设置主键名称。 |
rowKey(string $key) | 设置表格的行键。 |
defaultParams(array $params) | 设置表格的默认参数。 |
destroyConfirm(string $text) | 设置删除操作的确认文本。 |
dialog($width, string $height) | 设置对话框的宽度和高度。 |
export(string $url, bool $isShow) | 配置导出功能。 |
isShowSearch(bool $isShow) | 显示或隐藏搜索功能。 |
columns(Closure $fn) | 使用闭包定义列。 |
filter(Closure $fn) | 使用闭包定义过滤器。 |
jsonSerialize() | 将表格属性序列化为 JSON。 |
column(string $label, string $props = '') | 向表格添加列。 |
search(string $label) | 创建一个搜索输入框。 |
input(string $label, string $name) | 添加一个输入搜索字段。 |
select(string $label, string $name) | 添加一个选择搜索字段。 |
number(string $label, string $name) | 添加一个数字搜索字段。 |
date(string $label, string $name) | 添加一个日期搜索字段。 |
datetime(string $label, string $name) | 添加一个日期时间搜索字段。 |
range(string $label, string $name, array $children) | 添加一个范围搜索字段。 |
示例
以下是如何创建一个具有各种配置的表格的完整示例:
php
use CatchForm\Table\Table;
$table = new Table('https://api.example.com/data');
$table->height('400px') // 设置表格的高度。
->border('1px solid #ccc') // 设置表格的边框样式。
->pagination(true) // 启用分页。
->limit(10) // 设置每页的项目数量。
->page(1) // 设置当前页码。
->size('large') // 设置表格的尺寸。
->showTools(true) // 显示工具栏。
->primaryName('id') // 设置主键名称。
->isShowSearch(true) // 启用搜索功能。
->input('按姓名搜索', 'name') // 添加一个用于按姓名搜索的输入框。
->select('按状态过滤', 'status') // 添加一个用于按状态过滤的选择框。
->column('姓名', 'name') // 添加一个标签为 '姓名' 的列。
->column('邮箱', 'email'); // 添加一个标签为 '邮箱' 的列。
$json = json_encode($table); // 将表格配置转换为 JSON 格式。