# getSelectOptionsBy(data, [fieldNames]) ⇒ Array.<Object>
将数据转换为带分组的选择器选项
Returns: Array.<Object>
-
分组后的选择器选项,每个项包含label和一个子选项数组(默认名为options)
Author: liukun 919590347@qq.com
Param | Type | Default | Description |
---|---|---|---|
data | Array.<T> | 要转换的数据数组 | |
[fieldNames] | Object | 自定义字段名称配置 | |
[fieldNames.groupNameField] | string | function | "groupName" | 分组名称字段或获取函数 |
[fieldNames.groupIdField] | string | function | "groupId" | 分组ID字段或获取函数 |
[fieldNames.labelField] | string | function | "label" | 标签字段或获取函数 |
[fieldNames.valueField] | string | function | "value" | 值字段或获取函数 |
[fieldNames.childrenField] | string | "options" | 子选项字段名称 |
Example
import { getSelectOptionsBy } from '@wont/utils'
const data = [
{ groupId: '1', groupName: '分组1', id: 'a', name: '选项A' },
{ groupId: '1', groupName: '分组1', id: 'b', name: '选项B' },
{ groupId: '2', groupName: '分组2', id: 'c', name: '选项C' }
];
getSelectOptionsBy(data, {
labelField: 'name',
valueField: 'id'
});
// 返回:
// [
// { label: '分组1', options: [{ label: '选项A', value: 'a', ... }, { label: '选项B', value: 'b', ... }] },
// { label: '分组2', options: [{ label: '选项C', value: 'c', ... }] }
// ]
# getSelectOptionsBy()
分组数据存储类型