链式下拉

组件说明

链式下拉组件用于实现多级联动选择,适用于省市区、分类等场景。

用法示例

use plugin\xbCode\builder\Builder;
use plugin\xbCode\builder\Renders\Form;

Builder::form(function (Form $builder) {
    // 基础用法 - 静态数据
    $builder->addRowChainedSelect('area', '地区选择', '', function($component) {
        $component->options([
            [
                'label' => '广东省',
                'value' => '44',
                'children' => [
                    ['label' => '广州市', 'value' => '4401'],
                    ['label' => '深圳市', 'value' => '4403']
                ]
            ],
            [
                'label' => '湖南省',
                'value' => '43',
                'children' => [
                    ['label' => '长沙市', 'value' => '4301'],
                    ['label' => '株洲市', 'value' => '4302']
                ]
            ]
        ]);
        $component->joinValues(false);
        $component->extractValue(true);
    });

    // 使用API动态加载
    $builder->addRowChainedSelect('category', '分类', '', [
        'source' => '/api/category/list',
        'labelField' => 'name',
        'valueField' => 'id',
        'delimiter' => ','
    ]);
});

组件参数

参数名类型默认值说明
namestring-字段名称
labelstring-字段标签
valuemixed-默认值
optionsarray[]选项组,支持children嵌套
sourcestring-动态选项组API地址
autoCompletestring-自动完成API地址
delimiterstring','值拼接分隔符
labelFieldstring'label'选项标签字段名
valueFieldstring'value'选项值字段名
joinValuesbooltrue是否拼接值
extractValueboolfalse是否提取值
requiredboolfalse是否必填
disabledboolfalse是否禁用
clearableboolfalse是否可清除

使用说明

  1. options数据结构需要包含children字段来表示下级选项
  2. source支持动态API,后端需返回符合格式的树形数据
  3. joinValues为true时,多个值会用delimiter连接成字符串
  4. extractValue为true时,只提取值不包含其他信息
  5. 适用于省市区、多级分类等联动场景