加载
Loading(加载)是一个用于显示全局加载状态的组件,通过在 SHOPLINE 商家后台页面顶部显示进度条动画,向商家传达应用正在处理请求或加载数据。它能有效管理预期,让商家了解应用的响应状态,避免因等待而产生不确定感。
快速开始
以下示例展示了加载组件的基本实现方式:
import Client, { Loading, shared } from '@shoplineos/app-bridge';
// 1. 初始化 App Bridge
const app = Client.createApp({
appKey: 'your-app-key',
host: shared.getHost(),
});
// 2. 创建 Loading 实例
const loading = Loading.create(app);
// 3. 显示加载状态
loading.set(true);
setTimeout(() => {
loading.set(false);
}, 2000);
当执行 set(true) 后,会在页面顶部显示加载进度条,效果如下:

API 方法
set()
(isLoading: boolean): void
设置加载状态。
参数
| 参数 | 类型 | 说明 | 必填 |
|---|---|---|---|
| isLoading | boolean | 是否显示加载状态。
| 是 |
使用示例
// 显示加载状态
loading.set(true);
// 隐藏加载状态
loading.set(false);
get()
(): boolean
获取当前加载状态。
返回值
返回 true 表示显示加载状态,false 表示未显示加载状态。
提示
当调用 set()、toggle() 或旧方法 trigger()、exit() 时,Loading 实例会自动更新加载状态,以便应用侧准确判断当前是否正在加载。
使用示例
// 检查当前加载状态
if (loading.get()) {
console.log('正在加载中...');
} else {
console.log('加载已完成');
}
toggle()
(): void
切换加载状态(显示或隐藏)。
使用示例
// 切换加载状态
loading.toggle();
trigger()
(): void
开始显示加载状态。
废弃
trigger() 方法已被标记为废弃。编写新代码时,建议使用 set(true) 显示加载状态。
使用示例
// 显示加载状态
loading.trigger();
exit()
(): void
结束并隐藏加载状态。
废弃
exit() 方法已被标记为废弃。编写新代码时,建议使用 set(false) 隐藏加载状态。
使用示例
// 隐藏加载状态
loading.exit();
使用示例
示例 1:数据加载
import Client, { Loading, shared } from '@shoplineos/app-bridge';
const app = Client.createApp({
appKey: 'your-app-key',
host: shared.getHost(),
});
const loading = Loading.create(app);
// 加载商品数据
const fetchProducts = async () => {
// 显示加载状态
loading.set(true);
try {
const response = await fetch('/api/products');
const products = await response.json();
// 处理数据
console.log('商品数据:', products);
} catch (error) {
console.error('加载失败:', error);
} finally {
loading.set(false);
}
};
fetchProducts();
示例 2:表单保存
const handleSave = async (formData) => {
// 显示加载状态
loading.set(true);
try {
// 提交表单数据
await saveProduct(formData);
// 保存成功
console.log('保存成功');
} catch (error) {
// 保存失败
console.error('保存失败:', error);
} finally {
// 隐藏加载状态
loading.set(false);
}
};
这篇文章对你有帮助吗?