企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# text Text栏是最常用的列, 用于显示列数据 ## 方法原型: ``` /** * @param string $name 字段名, 支持复杂结构的多级操作, 以英文句号分隔, 如: 'city.name' * @param string $title 标题 * @param string $type 类型, 为空时默认为text类型 * @param array $option 显示的值映射, 用于将值转换为对应要显示的值, 如 [1 => '启用', 2=>'禁用'] * @param string $default 默认值 * @param array $attr 触发器等其他属性: { * trigger: {key: value}, // 用于控制当前列是否显示, value可以是一个数组, 若传了trigger参数, 只有当前行数据中出现在value中时才显示 * fixed: 是否固定列, * show_tooltip: 是否在长度超出后显示tooltip * } */ addColumn($name, $title, $type = 'text', $option = '', $default = '', $attr = []) ``` ## 调用方式: ``` return SBuilder::make('table') ->addColumn('name', '姓名') ->fetch(); ``` 或 ``` return SBuilder::make('table') ->addColumns([ ['name', '姓名'], ... // 其他列 ]) ->fetch(); ``` > 页面效果: > ![](https://img.kancloud.cn/41/2f/412fc36f384d4ca6fa020cebef1a1950_681x311.png) - 复杂结构支持 如用户行数据结构为: ```json { id: 1, name: 'Finay', sex: 1, city: { id: 1001, name: '深圳', } } ``` 要直接在列表中展示用户城市, 可用如下用法: ``` return SBuilder::make('table') ->addColumn('city.name', '城市名') ->fetch(); ``` - 数据展示转换 如上面的数据中, 要把性别展示为1对应男, 2对应女,需要使用option参数: ``` return SBuilder::make('table') ->addColumn('sex', '性别', '', ['1' => '男', '2' => '女']) ->fetch(); ``` - 触发器 可使用触发器控制行数据是否在当前列显示, 如上main的数据中, 若要id为1,2,3才显示`name`: ``` return SBuilder::make('table') ->addColumn('name', '姓名', '', '', '', [ 'trigger' => ['id' => [1,2,3]] ]) ->fetch(); ``` > 注意: 当trigger中存在多个字段的条件时, 判断关系为或的关系,若需要其他复杂关系处理, 请在获取列表逻辑中直接处理。