<template> <view> <text v-for="(item, index) in textArray" :key="index" :style="{ 'font-size': (index === 1 ? integerSize : size) + 'px', 'color': color }"> {{ item }} </text> </view> </template> <script> /** * 此组件简单的显示特定样式的(人名币)价格数字 */ export default { name: 'custom-text-price', components: {}, props: { price: { type: [String, Number], default: '0.00' }, color: { type: String, default: '#333333' }, //字体大小 size: { type: [String, Number], default: 15 }, //整形部分字体大小可单独定义 intSize: { type: [String, Number], default: 15 } }, computed: { textArray() { let array = ['¥'] if (!/^\d+(\.\d+)?$/.test(this.price)) { console.error('组件<custom-text-price :text="???" 此处参数应为金额数字') } else { let arr = parseFloat(this.price).toFixed(2).split('.') array.push(arr[0]) array.push('.' + arr[1]) } return array }, integerSize() { return this.intSize ? this.intSize : this.size } } } </script> <style scoped></style>