uniapp实现收缩通讯录功能的完整代码示例

作者:小满

时间:2026-10-31

浏览:507

本文详细介绍在uniapp中利用uview组件库实现收缩通讯录的方法。通过u-collapse和u-collapse-item组件构建可折叠列表,结合搜索功能与数据过滤,提供完整的HTML模板、JS逻辑及CSS样式代码,帮助开发者快速实现高效的用户界面交互。

文章目录

HTML结构构建

HTML结构构建

首先,我们需要构建基础的HTML结构。在uniapp中,通常使用view标签来布局。这里我们引入uview组件库中的搜索框和折叠面板组件,以实现用户输入搜索关键词以及展开/收起通讯录分组的交互效果。

<view class="search">
			<view class="search_padding">
				<u-search @change="search" placeholder="请输入成员名称" v-model="keyword"></u-search>
			</view>
		</view>
<view class="" style="background-color: #ffffff;">
			<u-collapse>
				<u-collapse-item :open="item.open" @change="clicks(e)" :title="item.type_title"
					v-for="(item, index) in itemList" v-if="item.data.length != 0" :key="index">
					<view class="list" :style="items.status ? 'background-color: #F4F4F4;':''"
						v-for="(items,indexs) in item.data" :key="indexs" @click="click(index,indexs)">
						<image :src="items.img" mode="">
						</image>
						<view class="" style="line-height: 60rpx;text-align: start;width: 80%;">
							<p>{{items.note}}</p>
							<p>{{items.tel}}</p>
						</view>
						<u-checkbox-group>
							<u-checkbox :checked="items.status"></u-checkbox>
						</u-checkbox-group>
					</view>
				</u-collapse-item>
			</u-collapse>
		</view>

JavaScript逻辑处理

在JavaScript逻辑部分,主要处理数据绑定和事件响应。我们需要定义一个itemList数组来存储通讯录分组数据,每个分组包含标题、展开状态及成员列表。同时,实现search方法来监听搜索框输入,根据关键词过滤显示的数据。当用户点击折叠面板标题时,触发clicks方法处理展开与收起状态切换。

itemList: [],

CSS样式美化

CSS样式部分负责美化界面。定义.search类设置搜索栏全宽及背景色,.search_padding调整内边距。隐藏u-search默认的行动按钮以保持界面简洁。.list类用于样式化列表项,采用flex布局对齐头像与文字,并添加边框与内边距以提升视觉层次感。头像图片设置固定宽高及圆角,折叠面板内容区域去除默认内边距以贴合设计。

.search {
		width: 100%;
		background-color: #ffffff;
	}
	.search_padding {
		width: 94%;
		margin-left: 3%;
		padding: 10px 0px;
	}
	.u-search__action {
		display: none !important;
	}
.list {
		width: 92%;
		display: flex;
		align-items: center;
		border: 1px solid #f4f4f4;
		padding: 8px 15px;
		justify-content: space-between;
	}
	.list image {
		width: 100rpx;
		height: 100rpx;
		border-radius: 10px;
		margin-right: 20rpx;
	}
	.u-collapse-item__content__text {
		padding: 0 !important;
	}

以上就是利用uniapp结合uview组件库制作收缩通讯录的完整实现方案。通过合理运用折叠面板与搜索组件,可以显著提升移动端应用的用户体验。如需了解更多相关技巧,欢迎查阅本站往期文章或持续关注后续更新内容。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章