33 lines
734 B
Vue
33 lines
734 B
Vue
<template>
|
|
<i :class="classes" :style="styles"></i>
|
|
</template>
|
|
<script>
|
|
const prefixCls = 'ivu-icon';
|
|
|
|
export default {
|
|
name: 'Icon',
|
|
props: {
|
|
type: String,
|
|
size: [Number, String],
|
|
color: String
|
|
},
|
|
computed: {
|
|
classes () {
|
|
return `${prefixCls} ${prefixCls}-${this.type}`;
|
|
},
|
|
styles () {
|
|
let style = {};
|
|
|
|
if (this.size) {
|
|
style['font-size'] = `${this.size}px`;
|
|
}
|
|
|
|
if (this.color) {
|
|
style.color = this.color;
|
|
}
|
|
|
|
return style;
|
|
}
|
|
}
|
|
};
|
|
</script>
|