Cell 单元格

介绍

单元格为列表中的单个展示项。

代码演示

基础用法

Cell 可以单独使用,也可以与 CellGroup 搭配使用,CellGroup 可以为 Cell 提供上下外边框。

<z-cell-group>
  <z-cell title="单元格" value="内容" />
  <z-cell title="单元格" value="内容" label="描述信息" />
</z-cell-group>

卡片风格

通过 CellGroupinset 属性,可以将单元格转换为圆角卡片风格。

<z-cell-group inset>
  <z-cell title="单元格" value="内容" />
  <z-cell title="单元格" value="内容" label="描述信息" />
</z-cell-group>

单元格大小

通过 size 属性可以控制单元格的大小。

<z-cell title="单元格" value="内容" size="large" />
<z-cell title="单元格" value="内容" size="large" label="描述信息" />

展示图标

通过 icon 属性在标题左侧展示图标。

<z-cell-group>
  <z-cell title="单元格" value="内容" icon="appstore" />
  <z-cell title="单元格" value="内容" icon="setting" />
</z-cell-group>

展示箭头

设置 is-link 属性后会在单元格右侧显示箭头,并且可以通过 arrow-direction 属性控制箭头方向。

<z-cell title="单元格" is-link />
<z-cell title="单元格" is-link value="内容" />
<z-cell title="单元格" is-link arrow-direction="down" value="内容" />

分组标题

通过 CellGrouptitle 属性可以指定分组标题。

<z-cell-group title="分组1">
  <z-cell title="单元格" value="内容" />
</z-cell-group>
<z-cell-group title="分组2">
  <z-cell title="单元格" value="内容" />
</z-cell-group>

使用插槽

如以上用法不能满足你的需求,可以使用插槽来自定义内容。

<z-cell value="内容" is-link>
  <!-- 使用 title 插槽来自定义标题 -->
  <template #title>
    <text class="custom-title">单元格</text>
    <z-tag type="primary">标签</z-tag>
  </template>
</z-cell>

<z-cell title="单元格" icon="creditcard">
  <!-- 使用 right-icon 插槽来自定义右侧图标 -->
  <template #right-icon>
    <z-icon name="search" class="search-icon" />
  </template>
</z-cell>

<style lang="scss" scoped>
.demo-cell {
  .custom-title {
    margin-right: 10rpx;
  }
}
</style>

垂直居中

通过 center 属性可以让 Cell 的左右内容都垂直居中。

<z-cell center title="单元格" value="内容" label="描述信息" />

API

CellGroup Props

参数说明类型默认值
title分组标题string-
inset是否展示为圆角卡片风格booleanfalse
border是否显示外边框booleantrue

Cell Props

参数说明类型默认值
title左侧标题number | string-
value右侧内容number | string-
label标题下方的描述信息string-
size单元格大小,可选值为 large normalstring-
icon左侧图标名称或图片链接,等同于 Icon 组件的 name 属性string-
icon-prefix图标类名前缀,等同于 Icon 组件的 class-prefix 属性stringz-icon
border是否显示内边框booleantrue
clickable是否开启点击反馈booleannull
is-link是否展示右侧箭头并开启点击反馈booleanfalse
required是否显示表单必填星号booleanfalse
center是否使内容垂直居中booleanfalse
arrow-direction箭头方向,可选值为 left up downstringright
title-style左侧标题额外样式string | Array | object-
title-class左侧标题额外类名string | Array | object-
value-class右侧内容额外类名string | Array | object-
label-class描述信息额外类名string | Array | object-

Cell Events

事件名说明回调参数
click点击单元格时触发event

CellGroup Slots

名称说明
default默认插槽
title自定义分组标题

Cell Slots

名称说明
title自定义左侧标题
value自定义右侧内容
label自定义标题下方的描述信息
icon自定义左侧图标
right-icon自定义右侧图标
extra自定义单元格最右侧的额外内容

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
--z-cell-font-sizevar(--z-font-size-md)-
--z-cell-line-height48rpx-
--z-cell-vertical-padding20rpx-
--z-cell-horizontal-paddingvar(--z-padding-md)-
--z-cell-text-colorvar(--z-text-color)-
--z-cell-backgroundvar(--z-background-2)-
--z-cell-border-colorvar(--z-border-color)-
--z-cell-active-colorvar(--z-active-color)-
--z-cell-required-colorvar(--z-danger-color)-
--z-cell-label-colorvar(--z-text-color-2)-
--z-cell-label-font-sizevar(--z-font-size-sm)-
--z-cell-label-line-heightvar(--z-line-height-sm)-
--z-cell-label-margin-topvar(--z-padding-base)-
--z-cell-value-colorvar(--z-text-color-2)-
--z-cell-value-font-sizeinherit-
--z-cell-icon-size32rpx-
--z-cell-right-icon-colorvar(--z-gray-6)-
--z-cell-large-vertical-paddingvar(--z-padding-sm)-
--z-cell-large-title-font-sizevar(--z-font-size-lg)-
--z-cell-large-label-font-sizevar(--z-font-size-md)-
--z-cell-large-value-font-sizeinherit-
--z-cell-group-backgroundvar(--z-background-2)-
--z-cell-group-title-colorvar(--z-text-color-2)-
--z-cell-group-title-paddingvar(--z-padding-md) var(--z-padding-md) var(--z-padding-xs)-
--z-cell-group-title-font-sizevar(--z-font-size-md)-
--z-cell-group-title-line-height32rpx-
--z-cell-group-inset-padding0 var(--z-padding-md)-
--z-cell-group-inset-radiusvar(--z-radius-lg)-
--z-cell-group-inset-title-paddingvar(--z-padding-md) var(--z-padding-md) var(--z-padding-xs) var(--z-padding-xl)-