vue js axios 响应数组列表

Tom*_*ang 3 vue.js axios

我正在打字。我的预先输入接受一个数组列表,如 ['Canada', 'USA', 'Mexico']。现在我有一个 axios api 来获取国家/地区列表。但我不知道如何转换为数组列表。现在如果硬编码一个国家列表就可以工作了。

<vue-bootstrap-typeahead
 :data="addresses"
 v-model="addressSearch"
/>
data() {
 return {
  addresses: ['Canada', 'USA', 'Mexico'],
  addressSearch: '',
 }
},
axios.get('api_link', {})
  .then(function (response) {
  //How can i create a array list from api return useing name like addresses?
})
Run Code Online (Sandbox Code Playgroud)

我的 api 返回:[ { "id": 1, "name": "Canada" }, { "id": 2, "name": "USA" }, ]

con*_*exo 8

利用created()生命周期钩子获取数据:

created() {
  axios.get('api_link', {})
    .then((response) => { this.addresses = response.data.map(x => x.name) })
}
Run Code Online (Sandbox Code Playgroud)

在您的 data() 确保初始化为空数组:

data() {
  return {
    addresses: [],
    ...
}
Run Code Online (Sandbox Code Playgroud)

只是为了让您看到该map函数的作用:

created() {
  axios.get('api_link', {})
    .then((response) => { this.addresses = response.data.map(x => x.name) })
}
Run Code Online (Sandbox Code Playgroud)