Skip to content

IndexList 索引列表

用于手机通讯录、城市选择列表的索引导航控件,支持右侧字母条滑动高亮、中央水滴气泡提示与头部 Sticky 吸顶。


代码示例

vue
<template>
  <mu-index-list :data="contactData" height="100vh" @click="onContactClick" />
</template>

<script setup>
import { ref } from 'vue'

const contactData = ref([
  {
    index: 'A',
    items: [
      { name: '阿木', desc: '高级前端架构师', phone: '138****0001' },
      { name: '安妮', desc: 'UI/UX 资深设计师', phone: '139****0002' }
    ]
  },
  {
    index: 'B',
    items: [
      { name: '白云', desc: '全栈开发专家', phone: '137****0003' }
    ]
  }
])

const onContactClick = (item) => {
  console.log('点击联系人:', item.name)
}
</script>

API 属性说明 (Props)

参数名说明类型可选值默认值
data索引数据列表 (支持带 indexitems 的分组数组,或扁平数组)Array-[]
height列表滚动容器高度String-'100vh'
sticky是否开启分组字母标题吸顶Booleantrue | falsetrue
showTip拖拽右侧字母栏时是否在中央显示气泡浮标Booleantrue | falsetrue
indexKey索引分组字段名String-'index'
labelKey主标题展示字段名String-'label'

事件说明 (Events)

事件名说明回调参数
click / select点击任意单项时触发(item: Object)
change切换当前索引字母时触发(indexChar: String)

插槽说明 (Slots)

插槽名说明
default自定义单个列表项的渲染模板
header顶部固定内容/热门城市导航区域插槽

基于 MIT 协议开源发行

H5 模拟器 (index-list)☀️🔄