Я пытаюсь создать мобильное небольшое приложение, используя v-extension-panel для отображения списка. Идея состоит в том, что когда пользователь добавляет новый элемент в такой список, он открывает новую панель и прокручивает вниз до такой новой панели.
Я нашел метод goTo () в $ переменная vuetify, к сожалению, переход v-extension-Panel («открытие») занимает некоторое время, и goTo () не будет полностью прокручиваться вниз из-за изменения высоты полосы прокрутки.
Так что, насколько я понимаю, мне нужно обнаружить конец перехода (ввод / afterEnter хук). Согласно документации vuetify js, я мог бы надеяться, что у моего компонента будет свойство "transition". (Что не так в любом случае). Но такое свойство - только строка, поэтому я не могу подключиться к нему.
Моя другая идея - каким-то образом найти компонент перехода и подключиться к нему. К сожалению, у меня проблемы с пониманием el / vnode, и способ vuejs строит дерево, как в vue -devtool show, и я не могу получить компонент перехода. При отладке (в обратном вызове enter ловушки перехода ) это похоже на то, что у компонента / el / vnode есть родительский элемент, но он ни у кого не является дочерним.
Есть ли способ делать то, что я ищу?
Вот jsfiddler того, что я сейчас делаю: https://jsfiddle.net/kdgn80sb/
По сути, это метод, который я определяю в Vue:
methods: {
newAlarm: function() {
const newAlarmPanelIndex = this.alarms.length - 1;
this.alarms.push({title: "New line"});
this.activePanelIndex = newAlarmPanelIndex;
// TODO:
this.$vuetify.goTo(this.$refs.alarmPanels[newAlarmPanelIndex]);
}
}