下拉选择组件

简介

下拉选择组件用于在表格列中实现快速编辑功能,通过下拉选择方式修改数据。

用法示例

基础用法

use plugin\xbCode\builder\Builder;

// 创建表格
Builder::crud(function($builder) {
  // 必须先设置快速保存接口
  $builder->useCRUD()->quickSaveItemApi('POST:/api/update');
  
  // 添加下拉选择列
  $builder->addColumnSelect('status', '状态', [
    'options' => [
      ['label' => '启用', 'value' => 1],
      ['label' => '禁用', 'value' => 0]
    ]
  ]);
});

自定义配置

Builder::crud(function($builder) {
  // 设置快速保存接口
  $builder->useCRUD()->quickSaveItemApi('POST:/api/save');
  
  // 带API数据源的下拉选择
  $builder->addColumnSelect('category_id', '分类', [
    'source' => '/api/categories',
    'labelField' => 'name',
    'valueField' => 'id'
  ], function($component) {
    $component->width(150);
  });
  
  // 静态数据源
  $builder->addColumnSelect('type', '类型', [
    'options' => [
      ['label' => '类型A', 'value' => 'a'],
      ['label' => '类型B', 'value' => 'b'],
      ['label' => '类型C', 'value' => 'c']
    ],
    'clearable' => true
  ]);
});

组件参数

参数名类型默认值说明
namestring必填字段名称,对应数据库字段
labelstring必填列标题,显示在表格头部
quickEditarray[]快速编辑配置
optioncallable|array[]配置选项,可以是回调函数或数组

快速编辑配置(quickEdit)

属性名类型默认值说明
typestringselect组件类型,固定为 'select'
saveImmediatelybooltrue是否立即保存
optionsarray-静态选项数据
sourcestring-远程API数据源
labelFieldstringlabel选项标签字段名
valueFieldstringvalue选项值字段名
clearablebool-是否可清除
searchablebool-是否可搜索
multiplebool-是否多选

下拉选择组件属性

属性名类型默认值说明
widthint|string-列宽度
alignstring-水平对齐方式
vAlignstring-垂直对齐方式
classNamestring-CSS 类名

使用场景

  • 状态切换
  • 分类选择
  • 类型选择
  • 快速分配

注意事项

  1. 必须先设置 quickSaveItemApi 接口地址,否则会抛出异常
  2. 默认启用立即保存(saveImmediately: true)
  3. 选择完成后会自动触发保存请求
  4. 支持静态数据源和远程API数据源
  5. 保存接口需要接收主键ID和修改的字段值