Cell 单元格

cell单元格一般用于一组列表的情况,比如个人中心页,设置页等。

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

  • 该组件需要搭配cell-group使用,并由它实现列表组的上下边框,如不需要上线边框,配置cellGroupborder参数为false即可。
  • 通过title设置左侧标题,value设置右侧内容。
  • 通过icon字段设置图标,值为uView自带的Icon 图标名。

注意: 由于cell组件需要由cellGroup组件提供参数值,这些父子组件间通过Vue的”provide/inject”特性注入依赖, 所以您必须使用cellGroup包裹cell组件才能正常使用。

  1. <template>
  2. <u-cell-group>
  3. <u-cell-item icon="setting-fill" title="个人设置"></u-cell-item>
  4. <u-cell-item icon="integral-fill" title="会员等级" value="新版本"></u-cell-item>
  5. </u-cell-group>
  6. </template>

自定义内容

  • 通过插槽icon可以自定义图标,内容会替换左边图标位置
  • 通过插槽title定义左边标题部分
  • 通过插槽right-icon定义右边内容部分
  1. <u-cell-group>
  2. <u-cell-item title="夕阳无限好" arrow-direction="down">
  3. <u-icon slot="icon" size="32" name="search"></u-icon>
  4. <!-- <u-badge count="99" :absolute="false" slot="right-icon"></u-badge> -->
  5. <u-switch slot="right-icon" v-model="checked"></u-switch>
  6. </u-cell-item>
  7. <u-cell-item icon="setting-fill" title="只是近黄昏"></u-cell-item>
  8. </u-cell-group>

如上所示,可以给cell-item组件通过slot="right-icon"设定右边uView自带的badge或者switch组件:

  • 如果搭配的是badge组件,注意设置absolute参数为false去掉绝对定位,否则其位于右侧的恰当位置,详见Badge 徽标数
  • 如果搭配的是switch组件,注意要通过v-model绑定一个内容为布尔值的变量,否则无法操作switch,详见Switch 开关选择器

展示右箭头

设置arrowtrue,将会显示右侧的箭头,可以通过arrow-direction控制箭头的方向

  1. <u-cell-group>
  2. <u-cell-item icon="share" title="停车坐爱枫林晚" :arrow="true" arrow-direction="down"></u-cell-item>
  3. <u-cell-item icon="map" title="霜叶红于二月花" :arrow="false"></u-cell-item>
  4. </u-cell-group>

分组标题

通过cell-grouptitle参数可以指定分组标题

  1. <u-cell-group title="设置喜好">
  2. <u-cell-item icon="setting-fill" title="个人设置"></u-cell-item>
  3. <u-cell-item icon="integral-fill" title="会员等级" value="新版本"></u-cell-item>
  4. </u-cell-group>

是否开启点击反馈

如果将arrow参数设置为true,意味着这是一个可点击的Cell,默认会给一个点击的反馈效果,如果您想自定义这个反馈效果,可以通过 hover-class参数传入一个样式类名,这个类必须写在全局样式中,如App.vue、或通过Apop.vue引入的全局样式中,一般建议定义反馈的背景颜色,或者是透明度即可。 如果不想要任何效果,将hover-class设置为none即可。

  1. <u-cell-group title="设置喜好">
  2. <u-cell-item icon="setting-fill" title="个人设置" hover-class="cell-hover-class"></u-cell-item>
  3. </u-cell-group>
  1. /* App.vue */
  2. .cell-hover-class {
  3. background-color: rgb(235, 237, 238);
  4. }
  5. /* 或者单是设置透明度 */
  6. .cell-hover-class {
  7. opacity: 0.5;
  8. }

API

CellGroup Props

参数说明类型默认值可选值
title分组标题String--
border是否显示外边框Booleantruefalse
title-style分组标题的的样式,对象形式,如{‘font-size’: ‘24rpx’} 或 {‘fontSize’: ‘24rpx’}object--

CellItem Props

参数说明类型默认值可选值
title左侧标题String--
icon左侧图标名,只支持uView内置图标,见Icon 图标String--
value右侧内容String--
label标题下方的描述信息String--
border-bottom是否显示每个cell的下边框Booleantruefalse
border-gapborder-bottomtrue时,Cell列表中间的条目的下边框是否与左边有一个间隔Booleantruefalse
hover-class是否开启点击反馈,none为无效果,见上方说明String-none
arrow是否显示右侧箭头,开启的话,将会默认带上点击反馈,可通过hover-class配置Booleantruefalse
arrow-direction箭头方向,可选值为Stringrightup / down
title-style标题样式,对象形式Object--
required是否显示左边表示必填的星号Booleanfalsetrue
value-style右侧内容样式,对象形式Object--
label-style标题下方描述信息的样式,对象形式Object--
bg-color背景颜色,默认透明背景Stringtransparent-
index用于在click事件回调中返回,标识当前是第几个ItemString | Number--
title-width标题的宽度,单位rpxNumber | String--
icon-size左边通过icon参数传入的图标的大小,单位rpxNumber | String34-
center是否使内容垂直居中Booleanfalsetrue

CellItem Slot

名称说明
title自定义左侧标题部分的内容,如需使用,请勿定义title参数,或赋值null即可
icon自定义左侧的图标
right-icon自定义右侧图标内容,需设置arrowfalse才起作用
label自定义label内容,需同时设置use-label-slottrue

CellItem Event

事件名说明回调参数
click点击cell列表时触发index: 通过props传递的index参数