@simba088/mat-ui
Version:
基于Vue和ElementUi的PC组件库
133 lines • 2.31 kB
JavaScript
import { isString, formatFontSize } from '../utils/helpers';
const EVENT_TIPS_CLICK = 'tipsclick';
export default {
props: {
tit: {
type: String,
default: ''
},
subTit: {
type: String,
default: ''
},
tips: {
type: [String, Object],
default: ''
},
remarks: {
type: String,
default: ''
},
errMsg: {
type: String,
default: ''
},
value: {
type: [String, Object, Number, Array],
default: undefined
},
desc: {
type: [String, Number],
default: ''
},
type: {
type: String,
default: 'text'
},
placeholder: {
type: String,
default: ''
},
unit: {
type: String,
default: ''
},
options: {
type: Array,
default() {
return [];
}
},
range: {
type: Object,
default() {
return {
conMin: 1,
conMax: 1,
min: 1,
max: 1000,
step: 1
};
}
},
fontSize: {
type: [String, Number],
default: ''
},
color: {
type: String,
default: ''
},
align: {
type: String,
default: 'right'
},
colons: {
type: Boolean,
default: false
},
border: {
type: String,
default: 'none'
},
titPadding: {
type: Boolean,
default: false
},
zIndex: {
type: Number,
default: 100
},
brandColor: {
type: String,
default: '#8c7fee'
},
btnColor: {
type: String,
default: '#ff5a6e'
}
},
computed: {
common() {
return {
tit: this.tit,
subTit: this.subTit,
tips: this.tips,
remarks: this.remarks,
errMsg: this.errMsg,
colons: this.colons,
align: this.align,
border: this.border,
titPadding: this.titPadding
};
},
size() {
return formatFontSize(this.fontSize);
}
},
methods: {
showTips() {
if (this.tips) {
let tips = this.tips;
if (isString(tips)) {
try {
tips = JSON.parse(tips);
} catch (e) {
return;
}
}
this.$emit(EVENT_TIPS_CLICK, tips);
}
}
}
};