方法:addTable($fields,$pk='id',$datas=[],$right_actions=[],$page='',$order=false,$delall=false,ajax=false)

标识符:table

参数 含义 类型
fields 字段 array
pk 主键字段 string
datas 数据 array
right_actions 右侧操作按钮 array
page 分页页码 string
order 排序url/false string/bool
delall 全删url/false string/bool
ajax 是否ajax bool

返回:Widget

fields数组元素结构如下

属性 含义 类型 取值
title 标题 string
field 字段name string
class 列class样式 string
type 列数据类型
text,datetime,date,html
array,number,switch,input
string 'text'
default 默认值 string ''
array type为array时设置 array []
options type为switch时设置 array ['禁用','启用']
url type为switch时设置 string ''

right_actions数组元素结构如下

'键名'=>[]或url;

  • 键名为'edit','delete'为系统默认按钮,'edit'键值可以为string或array型;'delete'键值只能string。当键值为string时,表示该操作的url地址 例如: 'edit'=>url('edit')
  • 其余为自定义按钮,键值需为array型

键名为edit,键值为array时,结构如下

属性 含义 类型 取值
is_pop 是否弹窗形式 bool true
href 操作url string ''

键名为delete,键值只能为string型,表示操作url

键名为自定义,键值为array时,结构如下

  • 含有条件时
属性 含义 类型 取值
condition 按条件显示 array 如['status','=',1]
true 条件为真时 array 结构参考不含条件时的结构
false 条件为假时 array 结构参考不含条件时的结构
  • 不含条件时
属性 含义 类型 取值
is_pop 是否弹窗形式 bool true
class 样式 string ''
href 操作url string ''
field 字段name string
title 显示文字 string ''
target 打开方式 string '_self'
extra_attr 额外属性 string ''
icon 图标 string ''
        //表格字段
        $fields=[
            ['title'=>'ID','field'=>'id'],
            ['title'=>'留言人名','field'=>'name'],
            ['title'=>'留言邮箱','field'=>'email'],
            ['title'=>'留言内容','field'=>'content'],
            ['title'=>'留言时间','field'=>'create_time','type'=>'date']
        ];
        //主键
        $pk='id';
        $delall=url('guestbookAlldel');
        $list=$this->model->order('status,create_time desc')->paginate(config('paginate.list_rows'));
        $page=$list->render();
        $page=preg_replace("(]*page[=|/](\d+).+?>(.+?)<\/a>)","$2",$page);
        $data=$list->items();
        foreach ($data as &$value){
            $value['reply_href']=url('guestbookReply',['id'=>$value['id']]);
        }
        //右侧操作按钮
        $right_action=[
            'reply'=>[
                'condition'=>['status','=',1],
                'true'=>['field'=>'reply_href','title'=>'回复','icon'=>'ace-icon fa fa-envelope-o bigger-130','class'=>'green','is_pop'=>1],
                'false'=>['field'=>'reply_href','title'=>'回复','icon'=>'ace-icon fa fa-envelope bigger-130','class'=>'red','is_pop'=>1]
            ],
            'delete'=>url('guestbookDel')
        ];
        //实例化表单类
        $widget=new Widget();
        if(request()->isAjax()){
            return $widget
                ->form('table',$fields,$pk,$data,$right_action,$page,'',$delall,1);
        }else{
            return $widget
                ->addtable($fields,$pk,$data,$right_action,$page,'',$delall)
                ->setButton()
                ->fetch();
        }

表格