Skip to content
12:13

TnLoadmore-加载更多

此组件可用于提示用户接下来还有数据的场景,一般放在列表的底部

组件位置

typescript
import TnLoadmore from '@tuniao/tnui-vue3-uniapp/components/loadmore/src/loadmore.vue'
import TnLoadmore from '@tuniao/tnui-vue3-uniapp/components/loadmore/src/loadmore.vue'
typescript
import TnLoadmore from '@/uni_modules/tuniaoui-vue3/components/loadmore/src/loadmore.vue'
import TnLoadmore from '@/uni_modules/tuniaoui-vue3/components/loadmore/src/loadmore.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基础使用

通过status设置加载更多的状态,可以值为loadmoreloadingnomoreempty

可以通过color属性来设置文字、加载图标、点内容的颜色,可以传递hexrgbrgba和图鸟内置颜色的值文本颜色

vue
<script lang="ts" setup>
import { ref } from 'vue'
import type { LoadmoreStatus } from '@tuniao/tnui-vue3-uniapp'

const loadmoreStatus = ref<LoadmoreStatus>('loadmore')
</script>

<template>
  <TnLoadmore :status="loadmoreStatus" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import type { LoadmoreStatus } from '@tuniao/tnui-vue3-uniapp'

const loadmoreStatus = ref<LoadmoreStatus>('loadmore')
</script>

<template>
  <TnLoadmore :status="loadmoreStatus" />
</template>
vue
<script lang="ts" setup>
import { ref } from 'vue'
import type { LoadmoreStatus } from '@/uni_modules/tuniaoui-vue3'

const loadmoreStatus = ref<LoadmoreStatus>('loadmore')
</script>

<template>
  <tn-loadmore :status="loadmoreStatus" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import type { LoadmoreStatus } from '@/uni_modules/tuniaoui-vue3'

const loadmoreStatus = ref<LoadmoreStatus>('loadmore')
</script>

<template>
  <tn-loadmore :status="loadmoreStatus" />
</template>

模式详解

不同的模式可以配置不同的参数设置达到开发者需要的效果

加载更多-loadmore

status设置为loadmore显示text.loadmore中的提示内容

vue
<template>
  <TnLoadmore status="loadmore" />
</template>
<template>
  <TnLoadmore status="loadmore" />
</template>

加载中-loading

status设置为loading显示text.loading中的提示内容

同时将loading-icon设置为true在此状态下可以显示出加载的图标,通过loading-icon-mode配置加载图标的样式,有效值可以查看加载图标

vue
<template>
  <TnLoadmore status="loading" />
</template>
<template>
  <TnLoadmore status="loading" />
</template>

修改 loading-icon 为小花朵

vue
<template>
  <TnLoadmore status="loading" loading-icon-mode="flower" />
</template>
<template>
  <TnLoadmore status="loading" loading-icon-mode="flower" />
</template>

加载完毕-nomore

status设置为nomore显示text.nomore中的提示内容

vue
<template>
  <TnLoadmore status="nomore" />
</template>
<template>
  <TnLoadmore status="nomore" />
</template>

数据为空-empty

status设置为empty显示text.empty中的提示内容

vue
<template>
  <TnLoadmore status="empty" />
</template>
<template>
  <TnLoadmore status="empty" />
</template>

自定义加载提示文字

通过给text属性传递一个对象可以自定义提示文字,对象loadmore属性用于设置加载更多的提示文字,对象loading属性用于设置加载中的提示文字,对象nomore属性用于设置加载完毕的提示文字,对象empty属性用于设置数据为空的提示文字

vue
<script lang="ts" setup>
import type { LoadmoreText } from '@tuniao/tnui-vue3-uniapp'

const customLoadMoreText: LoadmoreText = {
  loadmore: '还有内容呢',
  loading: '等等,数据正在赶来',
  nomore: '哎呀,没有啦',
  empty: '空空的呀',
}
</script>

<template>
  <TnLoadmore status="loadmore" :text="customLoadMoreText" />
</template>
<script lang="ts" setup>
import type { LoadmoreText } from '@tuniao/tnui-vue3-uniapp'

const customLoadMoreText: LoadmoreText = {
  loadmore: '还有内容呢',
  loading: '等等,数据正在赶来',
  nomore: '哎呀,没有啦',
  empty: '空空的呀',
}
</script>

<template>
  <TnLoadmore status="loadmore" :text="customLoadMoreText" />
</template>
vue
<script lang="ts" setup>
import type { LoadmoreText } from '@/uni_modules/tuniaoui-vue3'

const customLoadMoreText: LoadmoreText = {
  loadmore: '还有内容呢',
  loading: '等等,数据正在赶来',
  nomore: '哎呀,没有啦',
  empty: '空空的呀',
}
</script>

<template>
  <tn-loadmore status="loadmore" :text="customLoadMoreText" />
</template>
<script lang="ts" setup>
import type { LoadmoreText } from '@/uni_modules/tuniaoui-vue3'

const customLoadMoreText: LoadmoreText = {
  loadmore: '还有内容呢',
  loading: '等等,数据正在赶来',
  nomore: '哎呀,没有啦',
  empty: '空空的呀',
}
</script>

<template>
  <tn-loadmore status="loadmore" :text="customLoadMoreText" />
</template>

隐藏内容显示点代替

loading-text设置为false之后,在status设置为loadmorenomoreempty状态下会隐藏提示文本信息使用点代替内容

如果是在status设置为loading状态下,将loading-icon设置为false之后会显示点代替内容

vue
<template>
  <TnLoadmore status="loadmore" :loading-text="false" />
</template>
<template>
  <TnLoadmore status="loadmore" :loading-text="false" />
</template>
vue
<template>
  <TnLoadmore status="loading" :loading-icon="false" :loading-text="false" />
</template>
<template>
  <TnLoadmore status="loading" :loading-icon="false" :loading-text="false" />
</template>

API

Props

属性名说明类型默认值可选值
status加载状态,具体说明可以查看上面详解Stringloadmoreloading \ nomore \ empty
size加载内容尺寸大小,默认单位为 rpx,可以传入带单位的尺寸值String-sm / lg / xl
color加载内容颜色,支持图鸟内置的颜色值、hex、rgb、rgbaString--
text加载文案配置LoadmoreText{loadmore: '加载更多',loading: '加载中...',nomore: '没有更多了',empty: '暂无数据'}-
loading-icon是否显示加载图标,在loading模式下有效Booleantruefalse
loading-icon-mode加载图标类型加载图标Stringcirclecircle \ flower \ semicircle
loading-text是否显示加载文案Booleantruefalse

Emits

事件名说明类型
click点击事件() => void

LoadmoreText

属性名说明类型默认值可选值必填
loadmore加载更多提示文字String--
loading加载中提示文字String--
nomore加载完成提示文字String--
empty数据为空提示文字String--

Tuniao UI