A tiny Vue.js wrapper around Zurb's Tribute library for ES6 native @mentions.
🚦 Looking for Vue 2 support? Check out the master branch.
$ npm install tributejs vue-tribute@next --save
# or...
$ yarn add tributejs vue-tribute@next
or
Use the UMD build from Unpkg, available as VueTribute
in the global scope. You will need to include Tribute.js yourself as it is a peer dependency.
<script src="/vendor/vue.js" />
<script src="https://unpkg.com/tributejs" />
<script src="https://unpkg.com/vue-tribute@next" />
Import and register the module as a plugin.
import { createApp } from 'vue'
import App from './App.vue'
import VueTribute from 'vue-tribute'
createApp(App).use(VueTribute).mount('#app')
import { VueTribute } from 'vue-tribute'
export default {
components: { VueTribute },
setup() {
...
},
}
Wrap a single text input, textarea, or contenteditable element within the VueTribute
component. You should then pass a valid Tribute options object to the component.
<template>
<vue-tribute :options="options">
<input type="text" placeholder="@..." />
</vue-tribute>
</template>
All custom Tribute events will work as expected. Simply attach listeners for them like you would any other event.
<template>
<vue-tribute :options="options">
<input type="text" placeholder="@..." @tribute-replaced="doSomething" />
</vue-tribute>
</template>
MIT © Collin Henderson