## 方法原型:
```
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)
- 序言
- 下载及安装
- 目录结构
- 基础
- 多站点-单入口文件(推荐)
- (旧)多站点-多入口文件方式
- (旧)入口文件
- (旧)站点配置
- 按钮操作
- 区块概念
- 构建器(SBuilder)
- 页面-Page
- 设置页面标题
- 添加页面提示信息
- 设置页面Tab
- 设置页面背景色
- 设置是否点击遮罩关闭
- 添加区块
- 区块-Block
- 设置区块名
- 设置区块布局
- 表单(form)
- 添加表单项通用方法
- 添加表单项
- 单行文本框
- 多行文本框
- 数字输入框
- 密码框
- 数组输入框
- 单选框
- 状态选择器
- 复选框
- 下拉框
- 级联选择器
- 开关
- 日期选择器
- 日期时间选择器
- 日期范围选择器
- 日期时间范围选择器
- 时间选择器
- 时间范围选择器
- Tree 树形组件
- 图标选择器
- 颜色选择器
- 单图片上传
- 多图片上传
- 视频上传
- 单文件上传
- 多文件上传
- 富文本编辑器-QEditor
- 富文本编辑器-UEditor
- 小程序富文本
- 静态文本
- 隐藏表单项
- 表格数据输入框
- 分组
- 地图选择器(未实现)
- 地区选择器(未实现)
- 穿梭框(未实现)
- 图片裁剪(未实现)
- 邮箱输入框(未实现)
- 设置表单LabelWidth
- 设置表单提交地址
- 设置默认按钮标题
- 提交表单确认框
- 隐藏默认按钮
- 添加额外按钮
- 设置触发器
- 设置表单数据
- 表单布局
- 模板
- 表格(table)
- 设置表名
- 添加顶部按钮
- 添加时间段筛选
- 设置搜索栏
- 添加列
- text
- byte
- status
- tags
- yesno
- datetime
- icon
- image
- images
- external_image[已废弃]
- external_images[已废弃]
- link
- html
- select
- text.edit
- group
- 多选框栏
- 数量索引栏
- 操作栏
- 右侧操作按钮
- 设置多选框
- 设置显示数量索引
- 设置列表数据地址
- 直接设置数据
- 关闭ajax获取数据功能
- 设置分页
- 自动新增
- 自动编辑
- 图表(Charts)
- Html
- Iframe
- 数据面板
- 卡片列表
- 按钮(Button)
- 按钮调用示例
- 自定义组件
- 混合页面
- 概念说明
- 扩展
- 图标扩展
- 杂项
- 帮助函数
- TODO