Это работает?
<template>
<v-select :items="selectProjects" v-model="selectedProject" @change="filterMe" />
</template>
<script>
export default {
data() {
return {
selectedProject: 1,
projects: [
{ id: 1, name: "John Doe", artist: "Some artist" },
{ id: 2, name: "Doe John", artist: "Some artist" }
]
};
},
computed: {
selectProjects() {
return this.projects.map(project => {
return {
value: project.id,
text: project.name
};
});
}
},
methods: {
filterMe() {
let item = this.projects.filter(
project => this.project == project.id
)[0];
console.log(item);
}
}
};
</script>
Когда вы выбираете параметр, он будет использовать идентификатор объекта как v-модель, но отображать текст как значение выбора, вы сможете фильтровать идентификатор после того, как если необходимо.