import { Component, OnInit } from '@angular/core'; @Component({ selector: 'farris-doc-number', templateUrl: './number-spinner-demo.component.html', styleUrls: ['./number-spinner-demo.component.scss'] }) export class NumberSpinnerDemoComponent implements OnInit { numberbase = '0.00'; numberdemo = ''; number1 = 3456.345; number2 = '10.22'; number3 = ''; number4 = '10~20'; number5 = '0.01~999999999999999'; boxData = 'editable'; separator = ';'; precision = 2; beginValue = 11; endValue = 21; numberSpinner = [ { propertiy: '[disabled]', default: 'false', type: 'boolean', description: '设置是否禁用组件' }, { propertiy: '[readonly]', default: 'false', type: 'boolean', description: '设置是否组件只读' }, { propertiy: '[editable]', default: 'true', type: 'boolean', description: '设置组件是否可以键入' }, { propertiy: '[formatter]', default: '', type: '(num: number) => string | number', description: '格式化数字值,比如将 10 格式化为 $10' }, { propertiy: '[parser]', default: '', type: '(val: string | number) => number', description: '反格式化组件值,用于将格式化的值转换为标准数字类型,内部计算,使用[formatter]时,此属性是必须的' }, { propertiy: '[placeholder]', default: '请输入数字', type: 'string', description: '设置空白时占位符' }, { propertiy: '[step]', default: '1', type: 'number', description: '设置步进值' }, { propertiy: '[max]', default: 'NaN', type: 'number', description: '数字最大值' }, { propertiy: '[min]', default: 'NaN', type: 'number', description: '数字最小值' }, { propertiy: '[textAlign]', default: 'left', type: 'string', description: '文字方向' }, { propertiy: '[precision]', default: '2', type: 'number', description: '精度' }, { propertiy: '[autoDecimal]', default: 'true', type: 'boolean', description: '根据精度,自动补全小数' }, { propertiy: '(valueChange)', default: '-', type: 'EventEmitter', description: '值变化事件' } ]; numberRange = [ { propertiy: '[separator]', default: '~', type: 'string', description: '设置数字范围值得分隔符' } ]; canNull = true; ngOnInit(): void {} format(val: number) { return Number(val).toFixed(2) + '%'; } parse(val: string) { return Number(val.substring(0, val.length - 1)) } has(val: string){ return this.boxData.indexOf(val) > -1; } onValueChange(e) { console.log(`value had changed: ${e}`); } onBeginValueChange(event) { console.log('beginvalue', event); } onEndValueChange(e) { console.log('endvalue', e); } onBlur(e) { console.log(`blur emit`) } onFocus(e) { console.log('focus emit') } changePrecision(val: number) { this.precision = val; } testFocus(){ console.log('测试focus'); } testBlur(){ console.log('测试blur'); } }