n-loadmore 加载更多
列表底部的加载状态提示条,status 三态轮换:loadmore(显示"加载更多",整条可点击请求下一页)/ loading(加载指示器 + 加载文案)/ nomore("没有更多了",可用极简圆点替代文字)。数据循环的常规接法:请求前置 loading,追加完置回 loadmore,没有下一页置 nomore;刷新或筛选后可重新开始。
只传 status 即可切换提示状态。line 默认关闭,开启后三态均显示两侧线条,dashed 与 lineColor 统一控制线形和颜色。direction 控制图标与文字横排或竖排,safeAreaBottom 按需处理底部安全区。组件不请求数据、不管理分页列表。
平台兼容性
| App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ小程序 |
|---|---|---|---|---|---|---|
| √ | √ | √ | × | × | × | × |
如何调用
html
<n-loadmore status="loading" />
API
属性
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| status | 加载状态;非法值触发 error 并停止展示 | String | "loadmore" | loadmore / loading / nomore |
| direction | 图标与文字排列;两侧线条始终水平 | String | "row" | row / col |
| line | 三态均可显示两侧线条 | Boolean | false | - |
| dashed | line 开启时使用虚线 | Boolean | true | - |
| lineColor | 线条颜色,空则跟随主题 | String | "" | CSS 色值 |
| isDot | 结束态以圆点替代文字 | Boolean | false | - |
| icon | 加载态显示内置指示器,iconOnly 开启时不生效 | Boolean | true | - |
| iconMode | 复用 n-loading 的五种指示器形态 | String | "circle" | circle / semicircle / flower / dots / bars |
| iconSize | 内置指示器名义尺寸,px,有限正数;圆环/半弧/花瓣为直径,三点为组宽基准,竖条为高度;不控制插槽内容尺寸 | Number | 17 | - |
| iconColor | 指示器活动色,空则跟随主题品牌色 | String | "" | CSS 色值 |
| inactiveColor | circle 轨道色,空则跟随主题弱填充;transparent 关闭轨道 | String | "" | CSS 色值 |
| color | 文字颜色,空则跟随主题次级文字色 | String | "" | CSS 色值 |
| fontSize | 文字字号,px,有限正数 | Number | 14 | - |
| height | 内容高度,px,不含安全区;0 自适应,正数指定高度并移除上下内边距,默认最小 40px | Number | 0 | 有限非负数 |
| marginTop | 上外边距,px,允许负数 | Number | 0 | 有限数 |
| marginBottom | 下外边距,px,允许负数 | Number | 0 | 有限数 |
| safeAreaBottom | 内容下方追加底部安全区,已由页面处理时关闭 | Boolean | false | - |
| loadmoreText | 加载更多文案,空白则使用语言包 | String | "" | - |
| loadingText | 加载中文案,空白则使用语言包 | String | "" | - |
| nomoreText | 没有更多文案,空白则使用语言包 | String | "" | - |
| iconOnly | 加载态以默认插槽替代内置指示器 | Boolean | false | - |
| iconRotate | 旋转默认插槽,仅 iconOnly 开启时生效;动图可保持关闭 | Boolean | false | - |
| textStyle | 文字行内样式,最后应用,可覆盖字号、颜色和行高 | String | "" | - |
| customClass | 根节点类,须在组件样式表内定义 | String | "" | - |
| customStyle | 根节点行内样式,最后应用,可设置背景和外边距等 | String | "" | - |
事件
| 事件名 | 说明 |
|---|---|
| loadmore | 配置合法且 status 为 loadmore 时点击触发;加载中与结束态不触发 |
| error | 配置非法时触发,参数 NLoadmoreError:{prop: string, message: string};停止展示与点击,修正后自动恢复 |
插槽
| 插槽名 | 说明 |
|---|---|
| default | iconOnly 开启后替代加载态指示器;插槽负责自身尺寸;iconRotate 可交由组件旋转,可放 n-icon 或 image |
样式令牌
| CSS 变量 | 默认值 | 作用 |
|---|---|---|
| --n-loadmore-min-height | 40px | 内容最小高度 |
| --n-loadmore-padding-y | 12px | 自适应高度时的上下内边距 |
| --n-loadmore-gap | 8px | 图文及线条与内容的间距 |
| --n-loadmore-dot-size | 6px | 结束态圆点直径 |
横排图文使用等高行盒;如通过 textStyle 修改字号,可同步设置 line-height,常规字号定制优先使用 fontSize。固定 height 应容纳实际内容;较大文字、竖排或自定义插槽建议保持 height=0。
实现说明
| 能力 | 常见做法 | 本组件做法与取舍 |
|---|---|---|
| 加载状态 | 双布尔或数字状态切换 | 使用 status 三态枚举,点击仅派发 loadmore;请求、列表追加和失败重试由业务控制 |
| 加载指示器 | 独立绘制圆环、区分轨道与活动色 | 复用 n-loading 全部五种形态与动画生命周期,iconColor 控制活动色,inactiveColor 控制圆环轨道色 |
| 排列方向 | 图标与文字横排或竖排 | direction 支持 row / col;两侧装饰线始终水平排列 |
| 底部安全区 | 按需在提示内容下预留安全区 | safeAreaBottom 默认关闭,使用库内安全区单例;已由页面处理时无需重复开启 |
| 提示装饰 | 文字、圆点、两侧虚实线 | line 与状态解耦,三态共用 dashed 和 lineColor;isDot 仅结束态替代文字,均由组件内部装配 |
| 自定义图标 | 图片地址或图标配置 | iconOnly 配合默认插槽,支持图片和 n-icon;iconRotate 复用 n-loading 的旋转与页面显隐启停,插槽只提供内容与尺寸 |
| 样式定制 | 专用背景属性或节点样式对象 | 背景由 customStyle 配置,内部文字由 textStyle 配置,符合全库定制通道 |
| 参数错误 | 默认值替代非法配置 | 非法状态、方向、形态和尺寸触发 error 并停止展示与点击;修正后自动恢复 |
| 动态结构 | 按状态增删节点 | 仅实际显隐或内容类型改变时重建内容行;当前状态无关的属性不会重建插槽 |
文字颜色默认由样式类读取主题令牌,保留运行时 CSS 变量、编译时 SCSS 覆盖和库默认值。textStyle 与 customStyle 最后应用,可覆盖组件默认样式;文字在横排指示器旁使用等高行盒。内容默认上下各留 12px、最小高度 40px,安全区高度额外追加在内容下方。组件不管理请求、翻页数据、自动加载或请求失败策略。