mirror of
https://github.com/frappe/books.git
synced 2024-12-25 20:11:15 +00:00
fix: Use h to create component
This commit is contained in:
parent
4071a6e8bc
commit
03dee5913c
@ -1,46 +1,42 @@
|
||||
<template>
|
||||
<div class="feather-icon" v-html="iconSVG"></div>
|
||||
</template>
|
||||
<script>
|
||||
import feather from 'feather-icons';
|
||||
|
||||
const validIcons = Object.keys(feather.icons);
|
||||
|
||||
export default {
|
||||
props: {
|
||||
name: {
|
||||
type: String,
|
||||
required: true,
|
||||
validator(value) {
|
||||
const valid = validIcons.includes(value);
|
||||
if (!valid) {
|
||||
console.warn(`name property for feather-icon must be one of `, validIcons);
|
||||
}
|
||||
return valid;
|
||||
}
|
||||
},
|
||||
size: {
|
||||
type: Number,
|
||||
default: 16
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
iconSVG() {
|
||||
const icon = feather.icons[this.name];
|
||||
if (!icon) {
|
||||
return '';
|
||||
}
|
||||
return icon.toSvg({
|
||||
width: this.size,
|
||||
height: this.size
|
||||
});
|
||||
props: {
|
||||
name: {
|
||||
type: String,
|
||||
required: true,
|
||||
validator(value) {
|
||||
const valid = validIcons.includes(value);
|
||||
if (!valid) {
|
||||
console.warn(
|
||||
`name property for feather-icon must be one of `,
|
||||
validIcons
|
||||
);
|
||||
}
|
||||
return valid;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
render(h) {
|
||||
let icon = feather.icons[this.name];
|
||||
return h('svg', {
|
||||
attrs: Object.assign({}, icon.attrs, {
|
||||
fill: 'none',
|
||||
stroke: 'currentColor',
|
||||
'stroke-linecap': 'round',
|
||||
'stroke-linejoin': 'round',
|
||||
'stroke-width': 1.5,
|
||||
width: null,
|
||||
height: null
|
||||
}),
|
||||
class: [icon.attrs.class],
|
||||
domProps: {
|
||||
innerHTML: icon.contents
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.feather-icon {
|
||||
display: inline-flex;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user