更新记录
1.0.0(2025-12-07) 下载此版本
appx-empty 是基于 uni-app x 开发的通用空状态展示组件,支持自定义图标、文案、按钮等样式与内容,适配多端展示场景(如暂无数据、加载失败、空列表等),具备灵活的样式配置和完善的容错处理能力。
平台兼容性
uni-app x(4.87)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ |
appx-empty 空状态组件
组件介绍
appx-empty 是基于 uni-app x 开发的通用空状态展示组件,支持自定义图标、文案、按钮等样式与内容,适配多端展示场景(如暂无数据、加载失败、空列表等),具备灵活的样式配置和完善的容错处理能力。
组件使用方式
1. 基础引入
在需要使用的页面/组件中引入:
<template>
<appx-empty />
</template>
<script lang="uts" setup>
</script>
2. 完整示例(自定义配置)
<template>
<appx-empty
icon="/static/empty.png"
iconSize="100rpx"
text="暂无订单"
textColor="#999"
subText="您还没有产生任何订单,快去下单吧~"
subTextColor="#ccc"
buttonText="去下单"
showButton="true"
buttonBg="#f56c6c"
buttonRadius="20px"
@button-click="handleGoOrder"
/>
</template>
<script lang="uts" setup>
const handleGoOrder = () => {
// 按钮点击逻辑
uni.navigateTo({ url: '/pages/order/create' });
};
</script>
属性(Props)说明
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| icon | string | '' | 自定义图标地址(优先级高于默认图标) |
| showIcon | boolean/string | true | 是否显示图标(字符串类型支持"true"/"false") |
| iconSize | string/number | '80px' | 图标尺寸(支持px、rpx等单位) |
| iconColor | string | '#c0c4cc' | 图标颜色(仅对默认图标生效) |
| iconStyle | object/string/null/undefined | {} | 自定义图标样式(支持对象或JSON字符串) |
| text | string | '暂无数据' | 空状态主文案 |
| showText | boolean/string | true | 是否显示主文案(字符串类型支持"true"/"false") |
| textColor | string | '#606266' | 主文案颜色 |
| textFontSize | string/number | '14px' | 主文案字体大小 |
| textMarginTop | string/number | '16px' | 主文案与图标/顶部的间距 |
| textStyle | object/string/null/undefined | {} | 自定义主文案样式(支持对象或JSON字符串) |
| subText | string | '' | 空状态辅助文案 |
| showSubText | boolean/string | true | 是否显示辅助文案(字符串类型支持"true"/"false") |
| subTextColor | string | '#909399' | 辅助文案颜色 |
| subTextFontSize | string/number | '12px' | 辅助文案字体大小 |
| subTextMarginTop | string/number | '8px' | 辅助文案与主文案的间距 |
| subTextStyle | object/string/null/undefined | {} | 自定义辅助文案样式(支持对象或JSON字符串) |
| buttonText | string | '' | 按钮文字(为空则不显示按钮) |
| showButton | boolean/string | false | 是否显示按钮(字符串类型支持"true"/"false") |
| buttonBg | string | '#409eff' | 按钮背景色 |
| buttonColor | string | '#ffffff' | 按钮文字颜色 |
| buttonFontSize | string/number | '14px' | 按钮字体大小 |
| buttonWidth | string/number | '120px' | 按钮宽度 |
| buttonHeight | string/number | '36px' | 按钮高度 |
| buttonRadius | string/number | '18px' | 按钮圆角 |
| buttonMarginTop | string/number | '24px' | 按钮与辅助文案的间距 |
| buttonStyle | object/string/null/undefined | {} | 自定义按钮样式(支持对象或JSON字符串) |
| containerStyle | object/string/null/undefined | {} | 容器自定义样式(如内边距、对齐方式) |
| defaultIcon | string | '📦' | 默认图标(文本形式,如📦、🔍等emoji) |
事件(Events)说明
| 事件名 | 触发条件 | 说明 |
|---|---|---|
| button-click | 点击组件内的按钮时 | 按钮点击回调,可用于绑定跳转、刷新等业务逻辑 |
样式说明
- 组件默认采用 flex 布局,容器水平垂直居中,内置默认内边距
40px 20px; - 所有样式属性支持传入带单位的值(如
80rpx)或纯数字(组件内部自动适配单位); - 自定义样式(如
iconStyle、textStyle等)支持两种格式:- 对象格式:
iconStyle="{ marginBottom: '10px' }" - JSON字符串格式:
iconStyle='{"marginBottom":"10px"}'(注意单引号包裹,内部双引号);
- 对象格式:
- 按钮点击态默认添加透明度变化(
opacity: 0.8),提升交互体验。
注意事项
- 自定义图标(
icon)传入时,建议使用绝对路径(如/static/empty.png),确保多端兼容; - 样式属性传入字符串布尔值时(如
showIcon="false"),组件会自动转换为布尔类型,不区分大小写; - 辅助文案(
subText)为空时,即使showSubText为true,也不会显示辅助文案区域; - 按钮仅在
buttonText有值且showButton为true时显示; - 样式字符串解析失败时,组件会自动回退到空样式,并在控制台输出警告信息。

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 5
赞赏 0
下载 11867577
赞赏 1818
赞赏
京公网安备:11010802035340号