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
设置加载更多的状态,可以值为loadmore
、loading
、nomore
、empty
可以通过color
属性来设置文字、加载图标、点内容的颜色,可以传递hex
、rgb
、rgba
和图鸟内置颜色的值文本颜色
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
设置为loadmore
、nomore
、empty
状态下会隐藏提示文本信息使用点代替内容
如果是在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 | 加载状态,具体说明可以查看上面详解 | String | loadmore | loading \ nomore \ empty |
size | 加载内容尺寸大小,默认单位为 rpx,可以传入带单位的尺寸值 | String | - | sm / lg / xl |
color | 加载内容颜色,支持图鸟内置的颜色值、hex、rgb、rgba | String | - | - |
text | 加载文案配置 | LoadmoreText | {loadmore: '加载更多',loading: '加载中...',nomore: '没有更多了',empty: '暂无数据'} | - |
loading-icon | 是否显示加载图标,在loading 模式下有效 | Boolean | true | false |
loading-icon-mode | 加载图标类型加载图标 | String | circle | circle \ flower \ semicircle |
loading-text | 是否显示加载文案 | Boolean | true | false |
Emits
事件名 | 说明 | 类型 |
---|---|---|
click | 点击事件 | () => void |
LoadmoreText
属性名 | 说明 | 类型 | 默认值 | 可选值 | 必填 |
---|---|---|---|---|---|
loadmore | 加载更多提示文字 | String | - | - | 否 |
loading | 加载中提示文字 | String | - | - | 否 |
nomore | 加载完成提示文字 | String | - | - | 否 |
empty | 数据为空提示文字 | String | - | - | 否 |