Как отклонить линейный индикатор выполнения (v-progress-linear) при автозаполнении (v-autocomplete)? - PullRequest
0 голосов
/ 24 января 2020

Компонент Vuetify Autocomplete, v-autocomplete, поставляется со встроенным v-progress-linear, который «включается» путем установки v-autocomplete s loading prop:

<v-autocomplete ref="control1" loading>
   <!-- redacted for brevity --> 
</v-autocomplete>

. ... который так же удобен, как карман на рубашке, но я не могу выключить эту глупую вещь после того, как загрузил свои вещи:

this.$refs.control1.loading = false;
this.$refs.control1.loading = null;

... ни один из них, кажется, не работает , Он просто сидит там, неопределенно прогрессируя, несмотря на все мои усилия, чтобы отклонить его.

Что я пропускаю?

1 Ответ

0 голосов
/ 24 января 2020

Не упускать из виду, переосмысливать:)

Вы также можете использовать директиву v-bind для логических подпорок.

Попробуйте что-то вроде этого:

<template>
   <v-autocomplete ref="control1" :loading="showProgress">
      <!-- redacted for brevity --> 
   </v-autocomplete>
   <button @click="hideProgres">Hide Progress Linear</button>
</template>

<script>
export default {
  data() {
    return {
      showProgress: true
    }
  },
  methods: {
    hideProgress() {
      this.showProgress = false;
    }
}
</script>

Тогда просто позвоните this.hideProgress(), когда вы хотите скрыть линейный компонент v-progress

РЕДАКТИРОВАТЬ: Стоит отметить, что вы никогда не должны пытаться менять реквизиты в восходящем направлении (от компонента, который нуждается в мутации), вы всегда должны изменять их в нисходящем направлении (от компонента, который является родителем компонента, реквизиты которого необходимо изменить).

...