当前位置: 首页 > 文档资料 > uView 开发文档 >

Cell 单元格

优质
小牛编辑
129浏览
2023-12-01

Cell 单元格 平台差异说明
AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

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

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

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

自定义内容

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

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

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

展示右箭头

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

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

分组标题

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

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

是否开启点击反馈

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

<u-cell-group title="设置喜好">
	<u-cell-item icon="setting-fill" title="个人设置" hover-class="cell-hover-class"></u-cell-item>
</u-cell-group>
/* App.vue */
.cell-hover-class {
	background-color: rgb(235, 237, 238);
}

/* 或者单是设置透明度 */
.cell-hover-class {
	opacity: 0.5;
}

API

CellGroup Props

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

CellItem Props

参数说明类型默认值可选值
title左侧标题String--
icon左侧图标名,只支持uView内置图标,见Icon 图标String--
icon-style 1.4.0icon的样式,对象形式Object--
value右侧内容String--
label标题下方的描述信息String--
border-bottom是否显示cell的下边框Booleantruefalse
border-top是否显示cell的上边框Booleanfalsetrue
border-gapborder-bottomtrue时,Cell列表中间的条目的下边框是否与左边有一个间隔 1.4.0已废弃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参数