The usage in a Vue component: <CustomInput v-model="searchText" /> The component: <script>
export default {
props: ['modelValue'],
emits: ['update:modelValue'],
computed: {
value: {
get() {
return this.modelValue
},
set(value) {
this.$emit('update:modelValue', value)
}
}
}
}
</script> <template>
<input v-model="value" />
</template> The “modelValue” placeholder is for the v-model attribute. It can be any other property, for example “title”: