1

我使用这个 API: https ://geo.api.gouv.fr/decoupage-administratif/communes 它工作得非常好,但问题是如果我正在搜索一个城市(公社),比如:“Saint-Étienne”我有准确地写“圣艾蒂安”。我想找到这个城市,例如没有空格:“saint étienne”或口音:“saint etienne”。在文档中它很好。但是在我使用 Axios 的 Vue.Js 项目中,我找不到解决方案。v-select 需要准确的书写。

这是输入:

  <v-autocomplete
                    v-else
                    @input="inputCity('departureCity', 'departureDepartment', selectedArrayCityDeparture)"
                    :loading="loading"
                    :items="citiesDeparture"
                    :search-input.sync="searchCitiesDeparture"
                    v-model="selectedArrayCityDeparture"
                    :rules="[
                        (value) => searchCitiesDeparture !== null || $t('form.validation.theDepartureCity') + ' ' + $t('isRequired')
                        ]"
                    text
                    hide-no-data’
                    required
                    :label="$t('form.departureCity')"
                    :no-data-text="$t('noDataAvailable')"
                />

方法 :

inputCity(cityType, departmentType, index) {
      if (index !== null && this.responseCities[index] !== undefined) {
        this.form[cityType] = this.responseCities[index].nom;
        this.form[departmentType] = this.responseCities[index].codeDepartement;
        }
      },
    querySelections(q, cities) {
      this.$axios.get(this.apiRoutes.gouv.cities(q)).then(
        response => {
          this.loading = false;
          this[cities] = _.map(response.data, function (item, i) {
              return ({ text: item.nom + ' (' + item.codeDepartement + ')' , value: i });
          });
          this.responseCities = response.data;
        }
        )
      },

手表 :

  search (val) {
      val && val !== this.select && this.querySelections(val)
    },
    searchCitiesArrival(val) {
      if (val !== null && val !== undefined && val.length > 1 && !(this.selectedArrayCityArrival !== null && this.citiesArrival[this.selectedArrayCityArrival] !== undefined && this.citiesArrival[this.selectedArrayCityArrival].text === val)) {
        this.querySelections(val, "citiesArrival");
      }
    },
    searchCitiesDeparture(val) {
      if (val !== null && val !== undefined && val.length > 1 && !(this.selectedArrayCityDeparture !== null && this.citiesDeparture[this.selectedArrayCityDeparture] !== undefined && this.citiesDeparture[this.selectedArrayCityDeparture].text === val)) {
        this.querySelections(val, "citiesDeparture");
      }
    }

数据 :

 citiesDeparture: [],
 citiesArrival: [],
 responseCities: [],

调用 API:

gouv: {
    cities: function (name) {
        return ('https://geo.api.gouv.fr/communes?nom=' + name + '&fields=&format=json&geometry=centre"');
    }
},

如何找到文档中带有空格或口音的城市?

4

0 回答 0