Обновление всплывающей подсказки Vuetify / повторное отображение при наведении

#javascript #vue.js #date #momentjs #vuetify.js

#javascript #vue.js #Дата #momentjs #vuetify.js

Вопрос:

У меня есть компонент всплывающей подсказки vuetify. Во всплывающей подсказке у меня есть {{date | moment}} . Я получаю статическое a few seconds ago сообщение.

Я хочу каждый раз, когда я наведу курсор на кнопку, обновлять всплывающую подсказку кнопки до текущего прошедшего времени ( 10 minutes ago например). Я не могу понять, как повторно отобразить всплывающую подсказку при наведении с помощью обновленного фильтра.

 filters: {
    moment: function (date) {
      return moment(date).fromNow();
    },
}, 
 

Ответ №1:

Если я правильно понял, чего вы пытаетесь достичь, эта идея может вам помочь (ниже приведена ссылка code pen):

смоделированное прошедшее время при наведении курсора мыши на кнопку

 <div id="app">
  <v-app id="inspire">
   <div class="text-center d-flex align-center justify-space-around">
     <v-tooltip bottom>
       <template v-slot:activator="{ on, attrs }">
         <v-btn
          color="primary"
          dark
          class="mt-10"
          v-bind="attrs"
          v-on="on"
          @mouseover="setElapsedTime"
          >
           Button
          </v-btn>
       </template>
    <span>{{ elapsedTime }}</span>
  </v-tooltip>
</div>
 
 new Vue({
 el: '#app',
 vuetify: new Vuetify(),
 data() {
   return {
     startTime: Date.now(),
     elapsedTime: '',
   }
 },
methods: {
  setElapsedTime() {
    const millis = Date.now() - this.startTime;
    this.elapsedTime = `seconds elapsed = ${Math.floor(millis / 1000)}`;
  }
} })
 

текст всплывающей подсказки привязан к переменной в объекте данных, всякий раз, когда пользователь наводит курсор на кнопку, вызывается метод, который обновляет переменную в объекте данных