介绍
单元格为列表中的单个展示项。
引入
代码演示
基础用法
Cell 可以单独使用,也可以与CellGroup搭配使用,CellGroup 可以为 Cell 提供上下外边框。
卡片风格
通过 CellGroup 的 inset 属性,可以将单元格转换为圆角卡片风格(从 2.12.25 版本开始支持)。
单元格大小
通过 size 属性可以控制单元格的大小。
展示图标
通过 icon 属性在标题左侧展示图标。
只设置 value
只设置 value 时,内容会靠左对齐。
展示箭头
设置 is-link 属性后会在单元格右侧显示箭头,并且可以通过 arrow-direction 属性控制箭头方向。
页面导航
可以通过 ur 属性进行 URL 跳转,或通过 to 属性进行路由跳转。
分组标题
通过 CellGroup 的 title 属性可以指定分组标题。
使用插槽
如以上用法不能满足你的需求,可以使用插槽来自定义内容。
垂直居中
通过 center 属性可以让 Cell 的左右内容都垂直居中。
API
CellGroup Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
title | 分组标题 | string | - | |
border | 是否显示外边框 | boolean | true |
Cell Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
title | 左侧标题 | number、string | - | |
value | 右侧内容 | number 、string | - | |
label | 标题下方的描述信息 | string | - | |
size | 单元格大小,可选值为 large | string | - | |
icon | 左侧[图标名称\](https://youzan.github.io/vant/v2/#/zh-CN/icon)或图片链接 | string | - | |
icon-prefix v2.5.3 | 图标类名前缀,同 Icon 组件的 [class-prefix 属性](https://youzan.github.io/vant/v2/#/zh-CN/icon#props) | string | van-icon | |
url | 点击后跳转的链接地址 | string | - | |
to | 点击后跳转的目标路由对象,同 vue-router 的 [to 属性](https://router.vuejs.org/zh/api/#to) | string、object | - | |
border | 是否显示内边框 | boolean | true | |
replace | 是否在跳转时替换当前页面历史 | boolean | false | |
clickable | 是否开启点击反馈 | boolean | null | |
is-link | 是否展示右侧箭头并开启点击反馈 | boolean | false | |
required | 是否显示表单必填星号 | boolean | false | |
center | 是否使内容垂直居中 | boolean | false | |
arrow-direction | 箭头方向,可选值为 left、up、down | string | right | |
title-style | 左侧标题额外样式 | any | - | |
title-class | 左侧标题额外类名 | any | - | |
value-class | 右侧内容额外类名 | any | - | |
label-class | 描述信息额外类名 | any | - |
Cell Events
事件名 | 说明 | 回调参数 | |
---|---|---|---|
click | 点击单元格时触发 | event: Event |
CellGroup Slots
名称 | 说明 | |
---|---|---|
default | 默认插槽 | |
title | 自定义分组标题 |
Cell Slots
名称 | 说明 | |
---|---|---|
default | 自定义右侧 value 的内容 | |
title | 自定义左侧 title 的内容 | |
label | 自定义标题下方 label 的内容 | |
icon | 自定义左侧图标 | |
right-icon | 自定义右侧按钮,默认为arrow | |
extra | 自定义单元格最右侧的额外内容 |
样式变量
组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考
。
名称 | 默认值 | 描述 | |
---|---|---|---|
@cell-font-size | @font-size-md | - | |
@cell-line-height | 24px | - | |
@cell-vertical-padding | 10px | - | |
@cell-horizontal-padding | @padding-md | - | |
@cell-text-color | @text-color | - | |
@cell-background-color | @white | - | |
@cell-border-color | @border-color | - | |
@cell-active-color | @active-color | - | |
@cell-required-color | @red | - | |
@cell-label-color | @gray-6 | - | |
@cell-label-font-size | @font-size-sm | - | |
@cell-label-line-height | @line-height-sm | - | |
@cell-label-margin-top | @padding-base | - | |
@cell-value-color | @gray-6 | - | |
@cell-icon-size | 16px | - | |
@cell-right-icon-color | @gray-6 | - | |
@cell-large-vertical-padding | @padding-sm | - | |
@cell-large-title-font-size | @font-size-lg | - | |
@cell-large-label-font-size | @font-size-md | - | |
@cell-group-background-color | @white\ | - | |
@cell-group-title-color | @gray-6 | - | |
@cell-group-title-padding | @padding-md @padding-md @padding-xs | - | |
@cell-group-title-font-size | @font-size-md | - | |
@cell-group-title-line-height | 16px | - |