Skip to content

uvue-list 列表组件

基础用法

vue
<script setup>
const option = {
  rowKey: 'id',
  formatter(row) {
    return {
      title: row.title,
      label: row.bar,
      value: row.foo
    }
  }
}
const data = [
  {
    id: '1',
    title: 'title1',
    bar: 'bar1',
    foo: 'foo1'
  },
  {
    id: '2',
    title: 'title2',
    bar: 'bar2',
    foo: 'foo2'
  }
]
function onItemClick(row, index) {
  console.log(row, index)
}
</script>

<template>
  <uvue-list :option="option" :data="data" @item-click="onItemClick" />
</template>

Props

参数说明类型可选值默认值
data列表数据,u-cell的传入属性优先级为{ ...option.cell, ...(option.formatter?.(row) ?? row) }Array-[]
option列表配置,见下方说明Object-{}
v-model:searchValue搜索栏绑定值String--
status加载状态Stringloadmore/loading/nomoreloadmore
scrollTop页面的滚动距离,通过 onPageScroll 生命周期获取Number-0

Option

参数说明类型可选值默认值
rowKey唯一键string-id
sticky吸顶属性 文档object-{}
search搜索栏属性,false 不显示 文档Object/false-{}
empty空内容属性,false 不显示 文档Object/false-{}
loadmore加载更多属性,false 不显示 文档Object/false-{}
backTop回到顶部属性,false 不显示 文档Object/false-{}
cellGroup单元格组属性 文档Object/false-{}
cell单元格属性 文档Object/false-{}
formatter动态单元格属性(row:数据项)=>需返回单元格属性--

Events

事件名说明参数
loadmore加载更多组件事件,加载状态 status 为 loadmore 时,点击组件会发出此事件-
search搜索栏组件事件,用户确定搜索时触发,用户按回车键,或者手机键盘右下角的"搜索"键时触发value:输入框的值
search-change搜索栏组件事件,输入框内容发生变化时触发value:输入框的值
search-custom搜索栏组件事件,用户点击右侧控件时触发value:输入框的值
search-blur搜索栏组件事件,输入框失去焦点时触发value:输入框的值
search-focus搜索栏组件事件,输入框获得焦点时触发value:输入框的值
search-clear搜索栏组件事件,配置了 clearabled 后,清空内容时会发出此事件-
search-click搜索栏组件事件,disabled 为 true 时,点击输入框,发出此事件,用于跳转搜索页-
search-clickIcon搜索栏组件事件,左侧 icon 点击时候时触发-
item-click列表项单元格点击时触发(row,index)

Slots

name说明参数
title单元格插槽{row,index}
label单元格插槽{row,index}
value单元格插槽{row,index}
icon单元格插槽{row,index}
right-icon单元格插槽{row,index}
search-top搜索栏上方-
search-bottom搜索栏下方-
list-top列表上方-
list-bottom列表下方-
list-item列表项{row,index}
loadmore-top加载更多上方-
loadmore-bottom加载更多下方-