Sanakey
2021-01-31 53cc6f817625897935fb10c3845ad7be400f3036
提交 | 用户 | age
d98d05 1 import { VantComponent } from '../common/component';
S 2 import { button } from '../mixins/button';
3 import { openType } from '../mixins/open-type';
4 VantComponent({
5   mixins: [button, openType],
6   classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
7   props: {
8     src: {
9       type: String,
10       observer() {
11         this.setData({
12           error: false,
13           loading: true,
14         });
15       },
16     },
17     round: Boolean,
53cc6f 18     width: null,
S 19     height: null,
d98d05 20     radius: null,
S 21     lazyLoad: Boolean,
22     useErrorSlot: Boolean,
23     useLoadingSlot: Boolean,
24     showMenuByLongpress: Boolean,
25     fit: {
26       type: String,
27       value: 'fill',
28     },
29     showError: {
30       type: Boolean,
31       value: true,
32     },
33     showLoading: {
34       type: Boolean,
35       value: true,
36     },
37   },
38   data: {
39     error: false,
40     loading: true,
41     viewStyle: '',
42   },
43   methods: {
44     onLoad(event) {
45       this.setData({
46         loading: false,
47       });
48       this.$emit('load', event.detail);
49     },
50     onError(event) {
51       this.setData({
52         loading: false,
53         error: true,
54       });
55       this.$emit('error', event.detail);
56     },
57     onClick(event) {
58       this.$emit('click', event.detail);
59     },
60   },
61 });