# 4.10 网格选择(Grid Select)
网格选择组件,用于以网格形式展示可选项
# 基础用法
<template>
<dof-grid-select :list="list" :cols="4" @select="onSelect" @overLimit="onOverLimit" />
</template>
<script>
export default {
data() {
return {
list: [
{ text: '选项1', value: 1 },
{ text: '选项2', value: 2, checked: true },
{ text: '不可选择', value: 3, disabled: true },
],
}
},
methods: {
onSelect({ selectIndex, checked, checkedList }) {
console.log(selectIndex, checked, checkedList)
},
onOverLimit(limit) {
console.log(`最多可选 ${limit} 项`)
},
},
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Attributes
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
id | String | N | 'one' | 组件标识,用于多实例场景 |
cols | Number | N | 4 | 列数 |
single | Boolean | N | false | 是否单选 |
list | Array | N | [] | 列表数据 |
limit | Number | N | - | 最大可选数量 |
custom-styles | Object | N | {} | 自定义选项样式,可设置 lineSpacing |
need-dark-mode | Boolean | N | false | 是否启用 M-dark/T-dark 内置暗黑适配 |
isRTL | Boolean | N | false | 是否启用 RTL(从右到左)布局;默认关闭 ^2.5.10 |
设置 :need-dark-mode="true" 可启用内置暗黑配色,主题初始化与构建配置见 接入说明。
# list 数据项
| 字段 | Type | Required | Default | Description |
|---|---|---|---|---|
text | String | N | - | 选项显示文本 |
value | Any | N | - | 选项值,由内部 option 组件消费 |
checked | Boolean | N | false | 初始选中状态;单选模式仅保留首个有效选中项 |
disabled | Boolean | N | false | 是否禁用;禁用项不可选中 |
color | String | N | '' | 普通文字颜色 |
checkedColor | String | N | '' | 选中文字颜色 |
disabledColor | String | N | '' | 禁用文字颜色 |
backgroundColor | String | N | '' | 普通背景颜色 |
checkedBackgroundColor | String | N | '' | 选中背景颜色 |
disabledBackgroundColor | String | N | '' | 禁用背景颜色 |
父组件向全部选项透传暗黑开关;这些颜色字段可设置在 list 单项或 customStyles 中,单项配置优先。
# Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
select | 选中状态变化 | { selectIndex, checked, checkedList } |
overLimit | 超出最大可选数量 | limit |