import{c as t,f as d,t as n,C as e,o}from"./vendor.26d316d2.js";const r={class:"markdown-body"},i=d("h1",null,"Infiniteloading 滚动加载",-1),a=d("h3",null,"介绍",-1),l=d("p",null,"列表滚动到底部自动加载更多数据。",-1),s=d("h3",null,"安装",-1),c=d("pre",null,[d("code",{class:"language-javascript"}," import { createApp } from 'vue';\n import { InfiniteLoading } from '@nutui/nutui-taro';\n\n const app = createApp();\n app.use(InfiniteLoading);\n")],-1),h=d("h2",null,"代码演示",-1),u=d("h3",null,"基础用法",-1),f=d("p",null,"在一个页面中,只能有一个 Infiniteloading,不可同时存在两个以及更多。",-1),g={class:"language-html"},p=e('
setup() {\n const hasMore = ref(true);\n\n const data = reactive({\n defultList: ['']\n });\n\n const loadMore = (done) => {\n setTimeout(() => {\n const curLen = data.defultList.length;\n\n for (let i = curLen; i < curLen + 10; i++) {\n data.defultList.push(`${i}`);\n }\n\n if (data.defultList.length > 30) hasMore.value = false;\n\n done();\n }, 500);\n };\n\n const refresh = (done) => {\n setTimeout(() => {\n console.log('刷新成功');\n done();\n }, 1000);\n };\n\n const init = () => {\n for (let i = 0; i < 20; i++) {\n data.defultList.push(`${i}`);\n }\n };\n onMounted(() => {\n init();\n });\n return {\n loadMore,\n hasMore,\n refresh,\n ...toRefs(data)\n };\n}\n
API
Props
| 参数 | 说明 | 类型 | 默认值 |
|---|
| has-more | 是否还有更多数据 | Boolean | true |
| container-id | 必填,设置滚动节点ID | String | '' |
| load-more-txt | “没有更多数”据展示文案 | String | '哎呀,这里是底部了啦' |
| is-open-refresh | 是否开启下拉刷新 | Boolean | false |
| pull-icon | 下拉刷新图标名称 | String |  |
| pull-txt | 下拉刷新提示文案 | String | 松手刷新 |
| load-icon | 上拉加载图标名称 | Boolean |  |
| load-txt | 上拉加载提示文案 | String | 加载中... |
Events
| 事件名 | 说明 | 回调参数 |
|---|
| load-more | 继续加载的回调函数 | done 函数,用于关闭加载中状态 |
| scroll-change | 实时监听滚动高度 | 滚动高度 |
| refresh | 下拉刷新事件回调 | done 函数,用于关闭加载中状态 |
',6),m={setup:e=>(e,m)=>(o(),t("div",r,[i,a,l,s,c,h,u,f,d("pre",null,[d("code",g,'\n",1)]),p]))};export{m as default};