vue+ts实现手机通讯录,左右联动,吸顶效果

最开始使用 vant 的 IndexBar 组件,遇到了难以处理的样式bug,即点击索引锚点吸顶后搜索框被向上挤压,所以就想着自己写一个

  •  效果图如下:

  • 以下是全部代码:
<template>
  <div v-allSafeArea class="page">
    <Header :isBack="false" bgColor="linear-gradient(180deg, #F5F5F5 0%, rgba(255, 255, 255, 1) 100%)">
      <template slot="right">
        <van-popover v-model="showPopover" trigger="click" :actions="actions" placement="bottom-end" @select="onSelect">
          <template #reference>
            <div class="sw-item">
              {
  { checkedText }}
              <SvgIcon icon="arrow_dot"></SvgIcon>
            </div>
          </template>
        </van-popover>
      </template>
    </Header>
    <div class="top-view">
      <SearchView v-model="nickName" placeholder="搜索" />
      <div class="box"></div>
    </div>
    <!-- 固定结构 container为滚动区域,content为滚动内容 -->
    <div class="wrap-view">
      <div ref="container" class="container" @scroll="scrollTop">
        <div ref="content">
          <div v-for="(item, index) in contacts" :key="index" class="list">
            <div ref="titleRef" :class="{ 'list-title': true, 'active-title': activeTitle === item.letter }">
              {
  { item.letter }}
            </div>
            <div v-for="({ name, phone, venues, jobName }, i) in item.list" :key="i&#
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值