import { use, isDef, suffixPx } from '../utils'; import Icon from '../icon'; const [sfc, bem] = use('image'); export default sfc({ props: { src: String, fit: String, alt: String, lazyLoad: Boolean, width: [String, Number], height: [String, Number] }, data() { return { loading: true, error: false }; }, watch: { src() { this.loading = true; this.error = false; } }, computed: { style() { const style = {}; if (isDef(this.width)) { style.width = suffixPx(this.width); } if (isDef(this.height)) { style.height = suffixPx(this.height); } return style; } }, methods: { onLoad(event) { this.loading = false; this.$emit('load', event); }, onError(event) { this.error = true; this.loading = false; this.$emit('error', event); }, onClick(event) { this.$emit('click', event); }, renderPlaceholder() { if (this.loading) { return (