You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							66 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							66 lines
						
					
					
						
							1.6 KiB
						
					
					
				
								"use strict";
							 | 
						|
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						|
								var component_1 = require("../common/component");
							 | 
						|
								var button_1 = require("../mixins/button");
							 | 
						|
								(0, component_1.VantComponent)({
							 | 
						|
								    mixins: [button_1.button],
							 | 
						|
								    classes: ['custom-class', 'loading-class', 'error-class', 'image-class'],
							 | 
						|
								    props: {
							 | 
						|
								        src: {
							 | 
						|
								            type: String,
							 | 
						|
								            observer: function () {
							 | 
						|
								                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: function (event) {
							 | 
						|
								            this.setData({
							 | 
						|
								                loading: false,
							 | 
						|
								            });
							 | 
						|
								            this.$emit('load', event.detail);
							 | 
						|
								        },
							 | 
						|
								        onError: function (event) {
							 | 
						|
								            this.setData({
							 | 
						|
								                loading: false,
							 | 
						|
								                error: true,
							 | 
						|
								            });
							 | 
						|
								            this.$emit('error', event.detail);
							 | 
						|
								        },
							 | 
						|
								        onClick: function (event) {
							 | 
						|
								            this.$emit('click', event.detail);
							 | 
						|
								        },
							 | 
						|
								    },
							 | 
						|
								});
							 | 
						|
								
							 |