# 索引列表

# 平台差异

App H5 微信小程序 支付宝小程序 头条小程序

# Props

参数 说明 类型 可选值 默认值
index 序号 number 0
list 列表数据 array
filterable 是否带有过滤栏 boolean true

# Methods

事件名称 说明 参数
setData 设置数据 function(index)
doLayout 更新页面结构, 当数据列表发生变化时 function

# Events

事件名称 说明 回调参数
change 选择或者滚动时触发改变 function(item)
search 搜索框搜索时触发 function(keyword)
select 列表项点击时 function(item)

# Slots

插槽名称 说明 回调参数
default 列表内容 {item, parent}
header 列表头 {item, isActive}
prepend 追加内容到列表前
append 追加内容到列表后

# 示例

基本用法

<template>
	<cl-list-index :index="1" :list="list"> </cl-list-index>
</template>

<script>
	export default {
		data() {
			return {
				// list 格式如下
				list: [
					{
						label: "A",
						children: [
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/1.jpg",
								name: "阿雪"
							},
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/3.jpg",
								name: "阿良"
							},
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/2.jpg",
								name: "阿绵"
							}
						]
					},
					{
						label: "C",
						children: [
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/5.jpg",
								name: "陈杨"
							},
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/6.jpg",
								name: "陈飞"
							},
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/7.jpg",
								name: "陈品如"
							},
							{
								avatarUrl:
									"https://cool-comm.oss-cn-shenzhen.aliyuncs.com/show/imgs/chat/avatar/4.jpg",
								name: "陈逸"
							}
						]
					}
				]
			};
		}
	};
</script>

<style lang="scss">
	page {
		height: 100%;
		overflow: hidden;
	}
</style>

使用插槽

<cl-list-index :index="1" :list="list">
	<!-- 列表头插槽 -->
	<template #header="{ item, isActive }"> {{ item.label }} </template>

	<!-- 列表内容插槽 -->
	<template v-slot="{ item, parent }"> {{ item.name }} </template>
</cl-list-index>