Добавить новые теги в vue-select
В компоненте vue-select vuejs, если вы видите на его демонстрационной странице, вы можете выбрать несколько элементов из выпадающего списка. Однако, если вы наберете что-то, что недоступно в раскрывающемся списке, вы можете просто набрать этот новый текст и нажать клавишу ввода, и оно станет тегом. Вы можете увидеть это поведение здесь на их демонстрационной странице:
https://sagalbot.github.io/vue-select/
Однако я не могу этого сделать. Я могу выбрать из выпадающего списка, но если я наберу что-то новое, то это не станет тегом. У меня есть этот jsbin, показывающий, что я сделал. Любая помощь приветствуется.
http://jsbin.com/xoxohenoli/edit?html,js,output
Мой Javascript:
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
el: '#app',
data: function() {
return {
options: ["A","B"],
placeholder: 'Choose a country..',
}
},
});
Мой HTML:
<!DOCTYPE html>
<html>
<head>
<script src="http://unpkg.com/vue@2.1.10"></script>
<script src="http://unpkg.com/vue-select@2.0.0"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="app" class="container-fluid">
<h2>VueSelect Basic Example</h2>
<v-select :placeholder="placeholder"
multiple
:options="options"></v-select>
</div>
</body>
</html>
1 ответ
Вам необходимо добавить атрибут taggable к компоненту, пожалуйста, проверьте в рабочем примере.
пожалуйста, используйте полную страницу для фрагмента, чтобы избежать дублирования вывода консоли.
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script>
<script src="https://unpkg.com/vue-select@2.0.0/dist/vue-select.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="app" class="container-fluid">
<h2>VueSelect Basic Example</h2>
<v-select taggable :placeholder="placeholder"
multiple
:options="options"></v-select>
</div>
<script>
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
el: '#app',
data: function() {
return {
options: ["A","B"],
placeholder: 'Choose a country..',
}
},
});
</script>
</body>
</html>