import { VantComponent } from '../common/component'; import { button } from '../mixins/button'; VantComponent({ mixins: [button], classes: ['custom-class', 'loading-class', 'error-class', 'image-class'], props: { src: { type: String, observer() { this.setData({ error: false, loading: true, }); }, }, round: Boolean, width: null, height: null, radius: null, lazyLoad: Boolean, useErrorSlot: Boolean, useLoadingSlot: Boolean, showMenuByLongpress: Boolean, fit: { type: String, value: 'fill', }, webp: { type: Boolean, value: false, }, showError: { type: Boolean, value: true, }, showLoading: { type: Boolean, value: true, }, }, data: { error: false, loading: true, viewStyle: '', }, methods: { onLoad(event) { this.setData({ loading: false, }); this.$emit('load', event.detail); }, onError(event) { this.setData({ loading: false, error: true, }); this.$emit('error', event.detail); }, onClick(event) { this.$emit('click', event.detail); }, }, });