Vue.js 路由器查询数组

Dmi*_*lys 6 javascript vue-router vuejs2

我想做的是使用 Vue.js 和路由器将数组从查询传递到后端。

所以我有这个方法:

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

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

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

Phi*_*hil 6

为了支持 PHP / 数组风格的多值,你可以将键名设置为你想要的,即

query: {
  'models[]': this.selectedModels.map(e => e.value)
}
Run Code Online (Sandbox Code Playgroud)

这可能会出现

?model%5B%5D=MODEL1&model%5B%5D=MODEL2...
Run Code Online (Sandbox Code Playgroud)

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