Tengo una instancia de Vue Multiselect que funciona correctamente, pero mi modelo v es una matriz (ya que se pueden seleccionar varias opciones). El problema es que quiero llamar a una ruta dentro del método loadExtraOptions que exceptuará la matriz de ID como parámetro (las ID serían el valor catNum para cada índice en la matriz). Tengo parámetros configurados en la llamada axios, pero actualmente es solo el modelo en su conjunto, ¿cómo puedo enviar correctamente la matriz de ID para ese parámetro?
<multiselect v-model="categoryModel" :options="categoryOptions" :multiple="true" placeholder="Select Categories" :close-on-select="true" label="catNum" track-by="catNum" @select="loadExtraOptions" ></multiselect> var vm = new Vue({ el: "#app", props: { }, components: {Multiselect: window.VueMultiselect.default}, data: { categoryModel: [], categoryOptions: [], }, methods: { loadExtraOptions(){ console.log(this.categoryModel); if(categoryModel.length > 0){ axios.get('/test/route/autocomplete/category',{ params: { categories:this.categoryModel } }) .then((res) => { }) .catch((error) => { }); } }, } });Con .map solo puede extraer la identificación del modelo.
this.categoryModel.map(category => category.id) La solicitud GET envía parámetros como una cadena de consulta. Por lo tanto, debe enviar los identificadores como una cadena, no como una matriz, como en el formato a continuación.
// For example, // categoryModel: [{id: 1}, {id: 2}, {id: 3}] // result: 1,2,3 this.categoryModel.map(category => category.id).join(',')