列表上很多时候需要添加操作按钮,
## 1. 第一种,表格右上角按钮
这里可以用到 ui/table/*.php中的ops
格式如下:
```
class DemoTable extends TableInterface
{
public function ops()
{
return [
'edit' => [
'type' => 'link',
'label' => '编辑',
'icon' => 'el - icon - edit',
'url' => '/thinkadmin/user/edit',
'vars' => ['id'],
],
'del' => [
'type' => 'ajax',
'label' => '删除',
'icon' => 'el - icon - delete',
'url' => '/thinkadmin/user/delete',
'vars' => ['id'],
'confirm' => '是否删除管理员?',
]
];
}
}
```
配置项目
- type 操作类型,link是打开新窗口,ajax是调用一个ajax操作
- label 标题
- icon 操作图标
- url 连接地址
- vars 链接地址上需要的参数,会自动从行数据中获取对应的值
## 2. 第二种,列表数据中的按钮
很多时候列表中的数据是需要增加链接,这个时候处理是,在table文件中header相应字段type设置为link,格式如下
```
~~~
class NewsTable extends TableInterface
{
public function header()
{
return [
'has_child'=> ['label' => '子菜单', 'type' => 'link', 'linkConfig' =>
[
['key' => 'has_child', 'value' => true, 'showValue' => false, 'label' => '管理子分类', 'icon' => 'fa fa-level-down', 'url' => '/mall/admin/mallCate', 'vars' =>['id@parent_id']],
]
];
}
}
```
linkConfig 配置
- key 数据对应的字段
- value 过滤值,行数据的数据等于 value的值的时候才显示
- showValue 是否显示数据所包含的值
- label 链接名称
- icon 链接图标
- url,vars 链接的地址和参数