JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://unpkg.com/vue/dist/vue.global.js"></script>
<script src="https://unpkg.com/@vueform/multiselect"></script>
<link rel="stylesheet" href="https://unpkg.com/@vueform/multiselect/themes/default.css">
<div id="app">
<input type="button" value="add option and select it" @click="addOption" />
<div>{{ debugOutput }}</div>
<Multiselect
mode="tags"
v-model="values"
:options="options"
:allowAbsent="false"
/>
</div>
CSS
body {
font-family: Avenir, Helvetica, Arial, sans-serif;
}
JavaScript
const app = Vue.createApp({
setup() {
const options = Vue.ref(["o1"])
const values = Vue.ref(["o1"])
function addOption() {
const newOption = "o" + (options.value.length + 1)
options.value = [...options.value, newOption]
values.value = [...values.value, newOption]
}
const debugOutput = Vue.computed(() =>
JSON.stringify({
values: values.value,
options: options.value,
}),
)
// expose to template and other options API hooks
return {
options,
values,
addOption,
debugOutput
}
},
})
app.component("Multiselect", VueformMultiselect)
app.mount("#app")