列表字段

列表默认预定义了几个字段,可直接使用; 如果需要不能满足需求,可自定义字段类,也很简单;

字段的用法

配置列表字段,展示到表格(table)的每一行的每一列(td)中; 不同类型的值,需要配置不同的字段;

#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListText;
use easyadmin\app\columns\lists\ListSwitch;
use easyadmin\app\columns\lists\ListSelect;
use easyadmin\app\columns\lists\ListImage;
use easyadmin\app\columns\lists\ListDateTime;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{
    protected function configListField(ListField $list)
    {
        $list
            //文本字段
            ->addField('field', '字段名称', ListText::class,[
                //options 选项
            ])

            //开关字段
            ->addField('field', '字段名称', ListSwitch::class,[[
                //options 选项
            ])

            //下来选择字段
            ->addField('field', '字段名称', ListSelect::class,[[
                //options 选项
            ])

            //图片字段
            ->addField('field', '字段名称', ListImage::class,[[
                //options 选项
            ])

            //日期时间字段
            ->addField('field', '字段名称', ListDateTime::class,[[
                //options 选项
            ]);
    }

}
        
  1. 1. 不同的字段,只是在 options 选项上的不同;
  2. 2. configListField方法表示配置列表;详见列表页面配置
addField 方法 参数说明:
字段 说明 类型 必填 默认值
field 字段名称;数据库表的字段,例如:name; 如果是多表关联查询 ,需要写上关联表的别名,例如:user.name ; string
label 字段标题,显示名称 string
fieldClass 渲染字段的类名; 例如是使用 ListText 类渲染本字段,则填写 ListText::class string
options 字段的选项; 不同的字段类有不同的选项; array
文本字段 ListText

展示为一行文本

文本字段的options 适用于所有其他字段

options 选项说明
字段 类型 说明 必填
展开全部参数
class string 给元素增加一个 class 样式名称 ; 多个class 空格分开; 例如 : className1 className2
attr string 给元素增加一个属性; 例如: disabled=disabled checked=checked data-id=345
default string | array 给字段一个默认值,如果数据库中值为空,则显示这个值;日期时间范围(FormDateTimeRange)字段; 为一个数组
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
jsFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
cssFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
format function 格式化后输出到界面
null : 关闭格式化,原样输出 (默认)
string : 使用 date 函数格式化 (日期时间字段生效)
function : 自定义匿名函数格式化
'format' => function ($val,$row) {
    // $val 是当前列的值
    // $row 是当前行的数组
    // 格式化后返回界面
    return $val;
}
        
注意: 字段有值才会进入 format ; 如果没值也要进入,请设置 default 属性
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListText;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{

    protected function configListField(ListField $list)
    {
        $list
            //文本字段
            ->addField('field', '字段名称', ListText::class,[
                //options 选项
                'class'=>'test_class_name',
                'attr'=>'disabled=disabled checked=checked data-id=345',
                'default'=>'顶级分类',
                'template'=>'test:test' //需要放在当前的模块的 views 目录中
            ])
    }

}
        
日期时间字段 ListDateTime

展示为时间格式的文本

options 选项说明
字段 类型 说明 必填
展开全部参数
class string 给元素增加一个 class 样式名称 ; 多个class 空格分开; 例如 : className1 className2
attr string 给元素增加一个属性; 例如: disabled=disabled checked=checked data-id=345
default string | array 给字段一个默认值,如果数据库中值为空,则显示这个值;日期时间范围(FormDateTimeRange)字段; 为一个数组
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
jsFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
cssFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
format function 格式化后输出到界面
null : 关闭格式化,原样输出 (默认)
string : 使用 date 函数格式化 (日期时间字段生效)
function : 自定义匿名函数格式化
'format' => function ($val,$row) {
    // $val 是当前列的值
    // $row 是当前行的数组
    // 格式化后返回界面
    return $val;
}
        
注意: 字段有值才会进入 format ; 如果没值也要进入,请设置 default 属性
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListDateTime;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{

    protected function configListField(ListField $list)
    {
        $list
            //日期时间字段
            ->addField('field', '字段名称', ListDateTime::class,[
                //options 选项 , text 文本字段 的属性也都是可用的

                // 用 date 函数格式化,  传入格式化参数, 这是默认的
                'format'=>'Y-m-d H:i:s',

                //自定义函数处理
                'format' => function ($val) {
                    return date('Y/m/d H:i:s', $val);
                },

                //关闭格式化 (默认)
                'format' => null,

            ])
    }

}
        
图片字段 ListImage

展示为一张图片,点击可放大

options 选项说明
字段 类型 说明 必填
展开全部参数
class string 给元素增加一个 class 样式名称 ; 多个class 空格分开; 例如 : className1 className2
attr string 给元素增加一个属性; 例如: disabled=disabled checked=checked data-id=345
default string | array 给字段一个默认值,如果数据库中值为空,则显示这个值;日期时间范围(FormDateTimeRange)字段; 为一个数组
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
jsFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
cssFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
format function 格式化后输出到界面
null : 关闭格式化,原样输出 (默认)
string : 使用 date 函数格式化 (日期时间字段生效)
function : 自定义匿名函数格式化
'format' => function ($val,$row) {
    // $val 是当前列的值
    // $row 是当前行的数组
    // 格式化后返回界面
    return $val;
}
        
注意: 字段有值才会进入 format ; 如果没值也要进入,请设置 default 属性
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListImage;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{

    protected function configListField(ListField $list)
    {
        $list
            //图片字段
            ->addField('field', '字段名称', ListImage::class,[ ])
    }

}
        
选择字段 ListSelect

从定义好的一个数组中,选择一个值进行展示; 常用于状态展示; 例如: 是否开启 ; 是否删除 等 多个状态

options 选项说明
字段 类型 说明 必填
展开全部参数
class string 给元素增加一个 class 样式名称 ; 多个class 空格分开; 例如 : className1 className2
attr string 给元素增加一个属性; 例如: disabled=disabled checked=checked data-id=345
default string | array 给字段一个默认值,如果数据库中值为空,则显示这个值;日期时间范围(FormDateTimeRange)字段; 为一个数组
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
jsFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
cssFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
format function 格式化后输出到界面
null : 关闭格式化,原样输出 (默认)
string : 使用 date 函数格式化 (日期时间字段生效)
function : 自定义匿名函数格式化
'format' => function ($val,$row) {
    // $val 是当前列的值
    // $row 是当前行的数组
    // 格式化后返回界面
    return $val;
}
        
注意: 字段有值才会进入 format ; 如果没值也要进入,请设置 default 属性
options array 一个数组,显示的时候从数组中选取一条显示
   options.key void 数据库中的值, 用这个值匹配上了 就显示这条数据的 text
   options.text void 用 key 匹配上以后;显示的值
   options.color string 一个合法的颜色值
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListImage;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{

    protected function configListField(ListField $list)
    {
        $list
            //选择字段
             ->addField('name', '分类名称', ListSelect::class,[
                'options'=>[
                    ['key' => 'php', 'text' => '后端语言', 'color' => '#5FB878'],
                    ['key' => 'javascript', 'text' => '前端语言', 'color' => 'cyan'],
                ]
            ])
    }

}
        
开关字段 ListSwitch

一个 switch 开关 , 可直接 ajax 控制状态

options 选项说明
字段 类型 说明 必填
展开全部参数
class string 给元素增加一个 class 样式名称 ; 多个class 空格分开; 例如 : className1 className2
attr string 给元素增加一个属性; 例如: disabled=disabled checked=checked data-id=345
default string | array 给字段一个默认值,如果数据库中值为空,则显示这个值;日期时间范围(FormDateTimeRange)字段; 为一个数组
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
jsFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
cssFiles array 需要加载的 js 文件数组,相对于项目的运行根目录查找,如果没有修改配置是在project\public\ 目录中查找
format function 格式化后输出到界面
null : 关闭格式化,原样输出 (默认)
string : 使用 date 函数格式化 (日期时间字段生效)
function : 自定义匿名函数格式化
'format' => function ($val,$row) {
    // $val 是当前列的值
    // $row 是当前行的数组
    // 格式化后返回界面
    return $val;
}
        
注意: 字段有值才会进入 format ; 如果没值也要进入,请设置 default 属性
template string 自定义模板路径; 放在当前模块的 views 目录中 ; 详见自定义模板
success string|int 正确,开启的值 默认 1
error string|int 错误,关闭的值 默认 0
text string 开关文字 , 竖线分隔, 前面是开的显示文本,后面是关的显示文本 默认 YES|NO
url string 请求URL , 会使用 thinkphp6 的 url() 函数 生成url 默认 enable
params array 请求参数的额外参数. 默认 []
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\lists\ListSwitch;
use easyadmin\app\libs\ListField;

class Category extends \easyadmin\controller\Admin
{

    protected function configListField(ListField $list)
    {
        $list
            //选择字段
             ->addField('name', '分类名称', ListSwitch::class,[
                'success' => 1, //正确,开启的值  默认 1
                'error' => 0, //错误,关闭的值  默认 0
                'text' => 'YES|NO',//开关文字 , 竖线分隔, 前面是开的显示文本,后面是关的显示文本  默认   YES|NO
                'url' => 'enable',//请求URL , 会使用 thinkphp6 的 url() 函数 生成url  默认 enable
                'params' => ['test'=>1],//请求参数的额外参数.  默认  []
            ])
    }

}