Vue.js 路由器查询数组

Vue.js Router Query Array

我正在尝试使用 Vue.js 和路由器将数组从查询传递到后端。

所以我有这个方法:

submitForm () {
  this.$router.push({
    name: 'AuctionResult',
    query: {
      models: this.selectedModels.map(e => e.value)
    }
  })
},

结果将是这样的查询:?models=MODEL1&models=MODEL2... 但是我怎样才能使输入看起来像数组,如下所示:?models[]=MODEL1&models[]=MODEL2... ???

我没有在文档中找到任何内容。

要支持PHP/array style multi-values,你可以设置key name 为你想要的,即

query: {
  'models[]': this.selectedModels.map(e => e.value)
}

这可能会变成

?model%5B%5D=MODEL1&model%5B%5D=MODEL2...

但这没关系(它只是 URL 编码)并且您的服务器端请求处理程序应该正确解码它。