Vue.js v-autocomplete v-model 新数据
Vue.js v-autocomplete v-model new data
<v-autocomplete v-if="first.title == 'host'"
:items="host"
v-model="selected_host"
item-value="host_n"
outlined
hide-details
dense
></v-autocomplete>
我想输入未包含在项目中的新文本。
自动完成只是给用户的建议。
但是我无法在 v-autocomplete 中输入新数据。每当我写入新数据时,它都会被删除。
如果您希望用户添加自己的值,您应该使用 v-combobox
(doc here) 而不是 v-autocomplete
如果你想处理多个值,你可以使用 multiple
属性并将数组传递给 v-model 而不是字符串(或者对象,如果你使用 return-object
参数)
new Vue({
el: '#app',
vuetify: new Vuetify(),
computed: {
tagsSorted() {
return this.tags.sort()
}
},
data: () => ({
host: [{
host_n: 'Foo',
},
{
host_n: 'Bar',
}
],
first: {
title: 'host'
},
selected_host: ''
}),
methods: {
sendData() {
console.log(this.selected_host)
}
}
})
<script src="https://unpkg.com/vue@2.x/dist/vue.js"></script>
<script src="https://unpkg.com/vuetify@2.6.4/dist/vuetify.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/vuetify@2.6.4/dist/vuetify.min.css" />
<div id="app" data-app>
<v-combobox v-if="first.title == 'host'" :items="host" v-model="selected_host" item-value="host_n" item-text="host_n" outlined hide-details dense></v-combobox>
<v-btn @click="sendData">Send data</v-btn>
</div>
<v-autocomplete v-if="first.title == 'host'"
:items="host"
v-model="selected_host"
item-value="host_n"
outlined
hide-details
dense
></v-autocomplete>
我想输入未包含在项目中的新文本。
自动完成只是给用户的建议。 但是我无法在 v-autocomplete 中输入新数据。每当我写入新数据时,它都会被删除。
如果您希望用户添加自己的值,您应该使用 v-combobox
(doc here) 而不是 v-autocomplete
如果你想处理多个值,你可以使用 multiple
属性并将数组传递给 v-model 而不是字符串(或者对象,如果你使用 return-object
参数)
new Vue({
el: '#app',
vuetify: new Vuetify(),
computed: {
tagsSorted() {
return this.tags.sort()
}
},
data: () => ({
host: [{
host_n: 'Foo',
},
{
host_n: 'Bar',
}
],
first: {
title: 'host'
},
selected_host: ''
}),
methods: {
sendData() {
console.log(this.selected_host)
}
}
})
<script src="https://unpkg.com/vue@2.x/dist/vue.js"></script>
<script src="https://unpkg.com/vuetify@2.6.4/dist/vuetify.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/vuetify@2.6.4/dist/vuetify.min.css" />
<div id="app" data-app>
<v-combobox v-if="first.title == 'host'" :items="host" v-model="selected_host" item-value="host_n" item-text="host_n" outlined hide-details dense></v-combobox>
<v-btn @click="sendData">Send data</v-btn>
</div>