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.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							62 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								import { VantComponent } from '../common/component';
							 | 
						|
								import { button } from '../mixins/button';
							 | 
						|
								import { openType } from '../mixins/open-type';
							 | 
						|
								VantComponent({
							 | 
						|
								  mixins: [button, openType],
							 | 
						|
								  props: {
							 | 
						|
								    show: Boolean,
							 | 
						|
								    title: String,
							 | 
						|
								    cancelText: String,
							 | 
						|
								    description: String,
							 | 
						|
								    round: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								    zIndex: {
							 | 
						|
								      type: Number,
							 | 
						|
								      value: 100,
							 | 
						|
								    },
							 | 
						|
								    actions: {
							 | 
						|
								      type: Array,
							 | 
						|
								      value: [],
							 | 
						|
								    },
							 | 
						|
								    overlay: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								    closeOnClickOverlay: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								    closeOnClickAction: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								    safeAreaInsetBottom: {
							 | 
						|
								      type: Boolean,
							 | 
						|
								      value: true,
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								  methods: {
							 | 
						|
								    onSelect(event) {
							 | 
						|
								      const { index } = event.currentTarget.dataset;
							 | 
						|
								      const item = this.data.actions[index];
							 | 
						|
								      if (item && !item.disabled && !item.loading) {
							 | 
						|
								        this.$emit('select', item);
							 | 
						|
								        if (this.data.closeOnClickAction) {
							 | 
						|
								          this.onClose();
							 | 
						|
								        }
							 | 
						|
								      }
							 | 
						|
								    },
							 | 
						|
								    onCancel() {
							 | 
						|
								      this.$emit('cancel');
							 | 
						|
								    },
							 | 
						|
								    onClose() {
							 | 
						|
								      this.$emit('close');
							 | 
						|
								    },
							 | 
						|
								    onClickOverlay() {
							 | 
						|
								      this.$emit('click-overlay');
							 | 
						|
								      this.onClose();
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								});
							 |