更新记录

1.1.0(2026-10-28) 下载此版本

  • 重构为完整的价格标签组件,拆分为「货币符号 + 整数 + 小数」三段渲染,符号与小数位自动缩小字号
  • 新增常见货币符号字典,symbol 支持 ISO 4217 代码(CNY / USD / EUR / HKD ...)、中文名(人民币 / 美元 ...)与原始符号三种写法
  • price 支持 String 与 Number,并容错带千分位逗号的字符串、科学计数法、空值与非数字文本(如「面议」原样输出)
  • 实现 decimal-digits(固定小数位、自动补零)、thousands(千分位)、rounding(按位四舍五入)三项格式化能力
  • 新增 size 字号配置(内置 xs ~ xxxl 或数字 rpx)
  • color 支持传入自定义 css 类,也可直接传色值

平台兼容性

uni-app(3.99)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
√ √ √ √ √ - √ √ -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ √ √ √ - √ √ √ - -

uni-app x(3.99)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
× × √ ×

o-price

价格标签组件,把「价格」按中文电商习惯渲染成 符号 + 整数 + 小数 的三段式结构,支持千分位、小数位控制、四舍五入,以及常见货币符号。

Props

参数 说明 类型 默认值
price 价格信息,支持数字与数字字符串(1,234.5 这类带千分位的字符串也能识别) String / Number -
show-symbol 是否需要加上 symbol 符号 Boolean true
symbol 货币符号类型,见下方「货币符号」 String ¥
decimal-digits 小数点位数,不传则保留原始小数位 Number / String 2
thousands 是否按照千分号形式显示 Boolean false
rounding 是否支持四舍五入(未指定 decimal-digits 时默认按 2 位处理) Boolean false
color 自定义传入 css 类(如 text-red),也可直接传色值(如 #f00) String -
size 字号,内置 xs / sm / md / lg / xl / xxl / xxxl,也可传数字(单位 rpx) String / Number -

decimal-digits 缺省时原样保留小数,例如 12.50 显示为 12.50;设了 2 则固定两位并补零。 rounding 与 decimal-digits 配合使用时按位四舍五入,rounding 单独使用时按 2 位(分)处理。

货币符号

symbol 支持三种写法,优先级:货币代码 > 中文名 > 原始符号:

代码 符号 代码 符号 代码 符号
CNY / RMB ¥ USD $ EUR €
GBP £ JPY 円 KRW ₩
HKD HK$ MOP MOP$ TWD NT$
SGD S$ AUD A$ CAD C$
NZD NZ$ CHF CHF RUB ₽
INR ₹ THB ฿ VND ₫
PHP ₱ MYR RM IDR Rp
BRL R$ MXN MX$ TRY ₺
SAR ﷼ AED د.إ ZAR R
SEK/NOK/DKK kr PLN zł CZK Kč

中文名同样可用:人民币、美元、欧元、英镑、日元、韩元、港币、澳门元、新台币、新加坡元、澳元、加元、卢布、卢比、泰铢、越南盾、比索、林吉特、印尼盾、雷亚尔、里拉、兰特。 字典里没有的值会按原样输出,所以直接写 symbol="US$" 也没问题。

示例

<!-- 基础 -->
<o-price :price="99.9"></o-price>

<!-- 美元 + 千分位 + 两位小数 -->
<o-price :price="1234567.891" symbol="USD" thousands :decimal-digits="2"></o-price>

<!-- 四舍五入到分,红色大字 -->
<o-price :price="29.995" :decimal-digits="2" rounding size="xl" color="text-red"></o-price>

<!-- 只要数字,不要符号 -->
<o-price :price="128" :show-symbol="false"></o-price>

补充说明

  • 组件根节点是 text,display: inline-block,可以与普通文字、其他标签混排在一行。
  • 符号、整数、小数分三段渲染并分别缩放字号(符号 0.72em、小数 0.78em),只改 size 即可整体放大缩小。
  • 小程序端开启了 virtualHost,组件本身不产生额外节点,因此挂在 <o-price> 上的 class、style 可能不生效,需要间距时请在父级容器上处理;color 传入的类名(如 text-red)依靠 styleIsolation: apply-shared 正常生效。
  • 传入空值显示 0;传入无法解析为数字的内容(如「面议」「--」)则原样输出,不做格式化。

隐私、权限声明

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

无

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

插件不采集任何数据

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

无

许可协议

MIT协议

暂无用户评论。