auto hide the dropdown menu when click the menu item

This commit is contained in:
MaysWind
2023-08-21 23:59:48 +08:00
parent 0f59c9911d
commit d3dc1401fd
@@ -192,6 +192,7 @@
:disabled="loading || submitting" :disabled="loading || submitting"
:label="$t('Geographic Location')" :label="$t('Geographic Location')"
v-model="transaction" v-model="transaction"
v-model:menu="geoMenuState"
> >
<template #selection> <template #selection>
<span class="cursor-pointer" v-if="transaction.geoLocation">{{ `(${transaction.geoLocation.longitude}, ${transaction.geoLocation.latitude})` }}</span> <span class="cursor-pointer" v-if="transaction.geoLocation">{{ `(${transaction.geoLocation.longitude}, ${transaction.geoLocation.latitude})` }}</span>
@@ -358,6 +359,7 @@ export default {
loading: true, loading: true,
transaction: newTransaction, transaction: newTransaction,
geoLocationStatus: null, geoLocationStatus: null,
geoMenuState: false,
submitting: false, submitting: false,
isSupportGeoLocation: !!navigator.geolocation, isSupportGeoLocation: !!navigator.geolocation,
resolve: null, resolve: null,
@@ -741,6 +743,7 @@ export default {
}, },
updateGeoLocation(forceUpdate) { updateGeoLocation(forceUpdate) {
const self = this; const self = this;
self.geoMenuState = false;
if (!self.isSupportGeoLocation) { if (!self.isSupportGeoLocation) {
logger.warn('this browser does not support geo location'); logger.warn('this browser does not support geo location');
@@ -781,6 +784,7 @@ export default {
self.geoLocationStatus = 'getting'; self.geoLocationStatus = 'getting';
}, },
clearGeoLocation() { clearGeoLocation() {
this.geoMenuState = false;
this.geoLocationStatus = null; this.geoLocationStatus = null;
this.transaction.geoLocation = null; this.transaction.geoLocation = null;
}, },