更新记录

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 点击组件内的按钮时 按钮点击回调,可用于绑定跳转、刷新等业务逻辑

样式说明

  1. 组件默认采用 flex 布局,容器水平垂直居中,内置默认内边距 40px 20px
  2. 所有样式属性支持传入带单位的值(如 80rpx)或纯数字(组件内部自动适配单位);
  3. 自定义样式(如 iconStyletextStyle 等)支持两种格式:
    • 对象格式:iconStyle="{ marginBottom: '10px' }"
    • JSON字符串格式:iconStyle='{"marginBottom":"10px"}'(注意单引号包裹,内部双引号);
  4. 按钮点击态默认添加透明度变化(opacity: 0.8),提升交互体验。

注意事项

  1. 自定义图标(icon)传入时,建议使用绝对路径(如 /static/empty.png),确保多端兼容;
  2. 样式属性传入字符串布尔值时(如 showIcon="false"),组件会自动转换为布尔类型,不区分大小写;
  3. 辅助文案(subText)为空时,即使 showSubTexttrue,也不会显示辅助文案区域;
  4. 按钮仅在 buttonText 有值且 showButtontrue 时显示;
  5. 样式字符串解析失败时,组件会自动回退到空样式,并在控制台输出警告信息。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。