import{c as t,f as n,t as e,B as d,o}from"./vendor.36ea9f7d.js";const i={class:"markdown-body"},r=n("h1",null,"Infiniteloading组件",-1),s=n("h3",null,"介绍",-1),a=n("p",null,"列表滚动到底部自动加载更多数据。",-1),l=n("h3",null,"安装",-1),c=n("pre",null,[n("code",{class:"language-javascript"}," import { createApp } from 'vue';\n import { InfiniteLoading } from '@nutui/nutui';\n\n const app = createApp();\n app.use(InfiniteLoading);\n")],-1),u=n("h2",null,"代码演示",-1),h=n("h3",null,"基础用法",-1),f={class:"language-html"},m=n("pre",null,[n("code",{class:"language-javascript"},"setup() {\n const hasMore = ref(true);\n const data = reactive({\n defultList: []\n });\n const loadMore = done => { \n setTimeout(() => {\n const curLen = data.defultList.length;\n for (let i = curLen; i < curLen + 10; i++) {\n data.defultList.push(`${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`);\n }\n if (data.defultList.length > 30) hasMore.value = false;\n done()\n }, 500);\n };\n const init = () => {\n for (let i = 0; i < 10; i++) {\n data.defultList.push(`${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`);\n }\n }\n onMounted(() => {\n init()\n });\n return { loadMore, hasMore, ...toRefs(data) };\n}\n")],-1),p=n("h3",null,"下拉刷新",-1),g={class:"language-html"},L=n("pre",null,[n("code",{class:"language-javascript"},"setup() {\n const refreshHasMore = ref(true);\n const data = reactive({\n refreshList: []\n });\n const refreshLoadMore = done => {\n setTimeout(() => {\n const curLen = data.refreshList.length;\n for (let i = curLen; i < curLen + 10; i++) {\n data.refreshList.push(\n `${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`\n );\n }\n if (data.refreshList.length > 30) refreshHasMore.value = false;\n done()\n }, 500);\n };\n\n const refresh = (done) => {\n setTimeout(()=>{\n Toast.success('刷新成功');\n done()\n },1000)\n }\n const init = () => {\n for (let i = 0; i < 10; i++) {\n data.refreshList.push(`${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`);\n }\n }\n onMounted(() => {\n init()\n });\n return { refreshLoadMore, refreshHasMore, refresh, ...toRefs(data) };\n}\n")],-1),M=n("h3",null,"自定义加载文案",-1),v={class:"language-html"},b=d('
setup() {\n    const customHasMore = ref(true);\n    const data = reactive({\n      customList: ['']\n    });\n    const customLoadMore = done => {\n      setTimeout(() => {\n        const curLen = data.customList.length;\n        for (let i = curLen; i < curLen + 10; i++) {\n          data.customList.push(`${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`);\n        }\n        if (data.customList.length > 30) customHasMore.value = false;\n        done()\n      }, 500);\n    };\n    const init = () => {\n      for (let i = 0; i < 10; i++) {\n        data.customList.push(`${i} -- 塑像本来就在石头里,我只是把不要的部分去掉`);\n      }\n    }\n    onMounted(() => {\n      init()\n    });\n    return { customHasMore, customLoadMore,...toRefs(data) };\n}\n

API

Props

参数说明类型默认值
has-more是否还有更多数据Booleantrue
threshold距离底部多远加载Number200
use-window将滚动侦听器添加到 window 否则侦听组件的父节点Booleantrue
use-capture是否使用捕获模式 true 捕获 false 冒泡Booleanfalse
container-id在 useWindow 属性为 false 的时候,自定义设置节点IDString''
load-more-txt“没有更多数”据展示文案String'哎呀,这里是底部了啦'
is-open-refresh是否开启下拉刷新Booleanfalse
pull-icon下拉刷新图标名称String
pull-txt下拉刷新提示文案String松手刷新
load-icon上拉加载图标名称Boolean
load-txt上拉加载提示文案String加载中...

Events

事件名说明回调参数
load-more继续加载的回调函数done 函数,用于关闭加载中状态
scroll-change实时监听滚动高度滚动高度
refresh下拉刷新事件回调done 函数,用于关闭加载中状态
',6),w={expose:[],setup:d=>(d,w)=>(o(),t("div",i,[r,s,a,l,c,u,h,n("pre",null,[n("code",f,'\n",1)]),m,p,n("pre",null,[n("code",g,'\n",1)]),L,M,n("pre",null,[n("code",v,'\n',1)]),b]))};export default w;