Skip to content

n-loading-page 加载页 ​

整屏加载遮罩:fixed 铺满视口的不透明纯色底 + 居中加载圈与文案(图文纵排)。进入页面拉取首屏数据、整页等待等场景用;局部占位请用加载指示器(n-loading)。

  1. show 置 true 显示、数据到位后置 false——false 时整体不渲染,加载圈动画随挂载/卸载自动启停,不会空转
  2. 底色必须不透明(bg-color 留空 = 主题面底色,深浅主题自适应):加载页要完全盖住底下内容,半透明底会露出旧页面造成"加载中还能看到页面"的歧义
  3. 深色加载页两处一起改: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 两个单值属性。

记录 · 思考 · 创作