Хорошо, идея заключается в том, чтобы вручную обрабатывать видимость выпадающего меню, а не позволять Vuetify управлять этим.
Для этого вам необходимо:
- добавить
:close-on-content-click="false"
к вашей <v-menu>
( do c) - добавьте директиву
v-model
, связанную с логическим значением «data» (например: v-model="isDropdownDisplayed"
), инициализированный к false
(закрытое раскрывающееся меню при загрузке)
Первая команда говорит Vuetify не закрывать раскрывающееся меню при нажатии на контент (это будет делать только внешний щелчок), в то время как вторая опора связывает вязкость выпадающего списка с вашим логическим значением пользовательских данных.
Поскольку ваше логическое значение «данных» инициализируется равным false
(закрытый выпадающий список) и автоматически обновляется до true
через v-model
при открытии выпадающего меню вам нужно передать это значение в false
для вашего sortTableData
метода.
Предполагается, что вы используете SF C (но подход одинаков для чистых JS компонентов):
Template
<v-menu offset-y :close-on-content-click="false" v-model="isDropdownDisplayed">
...
</v-menu>
Сценарий
{
name: 'MyComponent',
data: function () {
return {
isDropdownDisplayed: false
}
},
methods: {
sortTableData: function (/* args */) {
// ...
this.isDropdownDisplayed = false
// ...
}
}
}