VueJS Google размещает автозаполнение - PullRequest
0 голосов
/ 12 сентября 2018

Привет, ребята. У меня возникла ошибка при реализации автозаполнения Google.Итак, вот сценарий On the blue its working fine but when I replace it to the red its not working На синем он работает нормально, но когда я заменяю его на красный, он не работает result Теперь, когда я ставлю его на линию, где красныйстрелка указывает, что я получил эту ошибку enter image description here

Для справки я использую это: https://www.npmjs.com/package/vue-google-autocomplete Я также попробовал это https://medium.com/dailyjs/google-places-autocomplete-in-vue-js-350aa934b18d

Работает нормальноно когда я помещаю это в петлю, это не работает.Кажется, в смонтированном состоянии произошла ошибка.Вот код моего смонтированного ()

//this is the current I used
this.$refs.address.focus();
//this is for the 2nd one
/*this.autocomplete = new google.maps.places.Autocomplete(
      (this.$refs.autocomplete),
      {types: ['geocode']}
    );
    this.autocomplete.addListener('place_changed', () => {
      let place = this.autocomplete.getPlace();
      let ac = place.address_components;
      let lat = place.geometry.location.lat();
      let lon = place.geometry.location.lng();
      let city = ac[0]["short_name"];

      console.log(`The user picked ${city} with the coordinates ${lat}, ${lon}`);
    });*/

1 Ответ

0 голосов
/ 12 сентября 2018

Замените строку внутри вашего mounted следующим:

if(this.$refs.address) this.$refs.address.focus();

Поскольку компонент автозаполнения находится внутри v-for, поэтому, когда компонент WorkHistory.vue смонтирован, он не знает, что такое this.$refs.address, если только work_history_data не содержит хотя бы 1 элемент.

...