n-loading-page 加载页
整屏加载遮罩:fixed 铺满视口的不透明纯色底 + 居中加载圈与文案(图文纵排)。进入页面拉取首屏数据、整页等待等场景用;局部占位请用加载指示器(n-loading)。
show置 true 显示、数据到位后置 false——false 时整体不渲染,加载圈动画随挂载/卸载自动启停,不会空转- 底色必须不透明(bg-color 留空 = 主题面底色,深浅主题自适应):加载页要完全盖住底下内容,半透明底会露出旧页面造成"加载中还能看到页面"的歧义
- 深色加载页两处一起改:bg-color 传深色、color 传浅色(color 同时作用于加载圈与文字,一处调白)
平台兼容性
| App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ小程序 |
|---|---|---|---|---|---|---|
| √ | √ | √ | × | × | × | × |
API
属性
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| show | 是否显示加载页:false 时整体不渲染 | Boolean | false | - |
| text | 加载文案;留空用内置多语言文案(跟随语言设置切换) | String | "" | - |
| color | 内容色调:同时作用于加载圈与文字;留空 = 圈取主题品牌色、文字取主题墨色 | String | "" | 与 css 相同 |
| image | 品牌图片路径:非空时替代加载圈,绘在 size 见方的盒内等比缩放 | String | "" | - |
| size | 加载圈直径 / 图片盒边长(px) | Number | 32 | - |
| bg-color | 全屏底色纯色;留空 = 主题面底色(深浅自适应);须不透明或高不透明纯色 | String | "" | 与 css 相同 |
| text-size | 文字字号(px) | Number | 14 | - |
| text-style | 微调文字的行内样式,如 "font-weight:600" | String | "" | 与 css 相同 |
| custom-class | 挂到根节点的额外 class(类需定义在组件样式表内) | String | "" | - |
| custom-style | 根节点行内样式,如 "z-index:1500"(调整加载页层级也走它) | String | "" | 与 css 相同 |
事件
无。显隐完全由 show 属性驱动,组件不派发事件。
插槽
无。内容由属性驱动(加载圈或图片 + 文案);局部场景需要自定义说明内容时用加载指示器组件的默认插槽。
实现说明
- 局部占位(列表刷新、按钮等待)用 n-loading,整页等待用本组件:内部 easycom 复用 n-loading 的圆环(仅取圆环,文字由本组件渲染并自控间距),两处动画节奏一致。
- 显隐完全受
show驱动:false 时整根不渲染,n-loading 的旋转动画随挂载/卸载自动启停,本组件自身零动画句柄;不派发事件、不设插槽,内容由属性完整描述。 - 底色必须不透明或高不透明纯色:加载页要完全盖住底下内容,半透明底会露出旧页面,产生“加载中还能看到页面”的歧义;留空取主题面底色(深浅自适应)。深色加载页两处一起改:bg-color 传深色、color 传浅色。
- 圈与文字共用
color(不拆成两个颜色属性):深色底一处调白,不易漏改;更细的文字样式走 text-style。 image非空即品牌加载页:图片绘在 size 见方的盒内等比缩放(aspectFit)不变形;圆环与图片的内容路径翻转用根节点重建键收拢,规避已挂载节点子节点插拔不即时重绘的问题。- 层级固定 1100,高于弹层类组件的 1000(加载期间要盖住一切弹层);需要更高层级用 custom-style 传 "z-index:1500"。根节点拦截触摸移动(阻断滚动穿透),加载期间底下页面不可滚。
- 加载圈形状不开放切换(单一圆环是全库统一视觉,圆环/按钮内置加载圈同一画法):要品牌化视觉传 image 替换整块内容区;文字字号与圈尺寸拆为 text-size / size 两个单值属性。