<div id="app">
<multiselect
  tag-placeholder="Add this as new tag"
  placeholder="Добавьте доступ"
  label="name"
  :options="value"
  :multiple="true"
  :taggable="true"
  track-by="access_num"
  @tag="addTag(entity, $event)"
  :select-label="'Выберите'"
  :selected-label="'Выбрано'"
  :deselect-label="'Нажмите Enter, чтобы убрать'"
             
  :model-value="entity.selectedAccesses"
  @update:model-value="updateSelected(entity, $event)"


>
</multiselect>
</div>
const { Multiselect } = window['vue-multiselect'];
const { createApp } = Vue;

createApp({
  components: { Multiselect },
  data () {
    return {
      entity: {
        selectedAccesses: [],
      },
      value: [
        { access_num: 1, name: 'default' }
      ]
    }
  },
  methods: {
    addTag(entity, newTag) {
      const tag = {
        name: newTag,
        access_num: this.value.length + 1, // Генерируем новый access_num
      };
      this.updateSelected(entity, [...entity.selectedAccesses, tag]);
      this.value.push(tag);
    },
    updateSelected(entity, newValue) {
      const previosValue = entity.selectedAccesses;
      entity.selectedAccesses = newValue;
    }
  }
})
  .mount('#app');

External CSS

  1. https://unpkg.com/vue-multiselect@3.0.0-beta.2/dist/vue-multiselect.css

External JavaScript

  1. https://unpkg.com/vue@3
  2. https://unpkg.com/vue-multiselect@3.0.0-beta.2/dist/vue-multiselect.umd.min.js