1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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();
- },
- },
- });
|