| 
									
										
										
										
											2022-04-16 22:04:02 +08:00
										 |  |  | <template> | 
					
						
							| 
									
										
										
										
											2022-04-19 17:58:39 +08:00
										 |  |  |   <view> | 
					
						
							| 
									
										
										
										
											2022-04-16 22:04:02 +08:00
										 |  |  |     <text v-for="(item, index) in textArray" :key="index" :style="{ 'font-size': (index === 1 ? integerSize : size) + 'px', 'color': color }"> | 
					
						
							|  |  |  |       {{ item }} | 
					
						
							|  |  |  |     </text> | 
					
						
							|  |  |  |   </view> | 
					
						
							|  |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2022-04-19 17:58:39 +08:00
										 |  |  |  * 此组件简单的显示特定样式的(人名币)价格数字 | 
					
						
							| 
									
										
										
										
											2022-04-16 22:04:02 +08:00
										 |  |  |  */ | 
					
						
							|  |  |  | 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> | 
					
						
							| 
									
										
										
										
											2022-04-19 17:58:39 +08:00
										 |  |  | <style scoped></style> |