企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 方法原型: ``` addTopButton($type = '', $title = '', $url = '', $linkType = 'link', $attr = []) ``` ## 参数说明: ``` * @param string $type 按钮类型:add/enable/disable/delete/custom * @param string $title 按钮标题 * @param string $url 按钮操作链接 * @param string $linkType 链接类型 link-普通跳转 ajax-ajax请求 pop-打开弹窗 null-无操作 * @param array $attr { * type:default|primary|success|info|warning|danger|text, // 按钮类型,默认 primary * round:true|false, // 按钮是否圆角,默认 false * plain:true|false, // 是否朴素按钮,默认 false * circle:true|false, // 是否圆形按钮,默认 false * icon, // 按钮图标,可选择的图标见icon表单项 * flag: 按钮标记,用于对按钮进一步操作,默认按钮的flag为对应的类型名称 * disabled, // 是否禁用,默认 false * target: 按钮链接跳转类型(linkType为link时有效, _blank表示新页面打开链接), * confirm: false|true|{title, tips, type:warning}, 按钮点击时是否需要确认框, * extra_data: 附加数据, 表单提交时会把附加数据提交, * batch: 是否批量操作(批量操作时会附带当前列表中选中的数据ID) * } ``` > 按钮类型,默认支持add/enable/disable/delete类型,除了add按钮之外其他都是批量操作按钮。如果需要自定义功能,可使用custom类型,并自定义对应的操作。 > 更具体的说明参考[按钮操作](按钮操作.md) ## 调用方式 - 添加按钮 ``` return SBuilder::make('table') ->addTopButton('add') ->fetch(); ``` > 添加按钮默认操作为页面跳转,如果想要以弹框方式打开添加页面,可以将linkType设置为 pop: > `addTopButton('add', '', '', 'pop')` > 添加操作默认跳转地址为当前控制器下的add方法,如果需要跳转到别的位置,请在参数中传递对应的地址。 - 批量启用/批量禁用 ``` return SBuilder::make('table') ->addTopButton('enable') // 批量启用 ->addTopButton('disable') // 批量禁用 ->fetch(); ``` > 批量启用与批量禁用对应的操作地址分别为当前控制器的`enable`与`disable`方法。 - 批量删除按钮 ``` return SBuilder::make('table') ->addTopButton('delete') ->fetch(); ``` > 批量删除对应的操作地址为当前控制器的`delete`方法。 - 页面示例: ![](https://box.kancloud.cn/fc4ccfa76d590fa929d4108b91f2ee19_568x80.png) - 添加自定义按钮 ``` return SBuilder::make('table') ->addTopButton('custom', '新窗口打开百度', 'https://baidu.com', 'link', ['target' => '_blank']) ->fetch(); ``` - 示例: ![](https://box.kancloud.cn/f91258eb0f5c69e8f5d1c66bd2615aa7_239x74.png)