Skip to content

xl-infinite-load

使用

暂无数据
使用代码
vue
<script setup lang="ts">
import { ref } from 'vue'
import { ElMessage } from 'element-plus'
const page = ref(0)
const size = ref(10)
function load() {
  return new Promise((resolve) => {
    page.value++
    setTimeout(() => {
      if (page.value !== 10)
        resolve(Array.from({ length: size.value }, (_, i) => Math.floor(Math.random() * 100 + 1)))
      else
        resolve([])
    }, 1000)
  })
}
function loadEnd() {
  ElMessage.success('没有更多数据了')
}
</script>

<template>
  <xl-infinite-load :load="load" style="height: 200px;overflow-y: scroll;" @load-end="loadEnd">
    <template #content="scope">
      <div>{{ scope }}</div>
    </template>
  </xl-infinite-load>
</template>

参数

组件名描述类型是否必填默认
load需要执行的加载函数Function () => Promise<data[]>true-
delay请求延迟时间Numberfalse200
distance触发执行函数距离底部距离Numberfalse0
immediate是否立即执行Booleanfalsetrue
disabled是否禁用加载Booleanfalsefalse
loadingText加载时文字Stringfalse加载中...
endText加载数据为空时文字Stringfalse暂无更多数据
emptyText数据为空时显示文字Stringfalse暂无数据

插槽

插槽名称描述
content自定义内容显示组件
empty内容为空时显示组件

事件

事件名描述类型
load-end数据全部加载结束Function
loaded数据被加载Function