Vue3.js自定義組件 v-model詳解
Vue3的自定義v-model
和vue2稍有不同
文檔
https://cn.vuejs.org/guide/components/v-model.html
原生組件
<input v-model="searchText" />
等價(jià)于
<input :value="searchText" @input="searchText = $event.target.value" />
自定義組件
<CustomInput v-model="searchText" />
等價(jià)于
<CustomInput :model-value="searchText" @update:model-value="newValue => searchText = newValue" />
CustomInput實(shí)現(xiàn)代碼1
<!-- CustomInput.vue --> <script> export default { props: ['modelValue'], emits: ['update:modelValue'] } </script> <template> <input :value="modelValue" @input="$emit('update:modelValue', $event.target.value)" /> </template>
CustomInput實(shí)現(xiàn)代碼2
<!-- CustomInput.vue --> <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>
v-model 的參數(shù)
默認(rèn)使用的是modelValue
, 可以自定義參數(shù)名
<MyComponent v-model:title="bookTitle" />
組件實(shí)現(xiàn)
<!-- MyComponent.vue --> <script> export default { props: ['title'], emits: ['update:title'] } </script> <template> <input type="text" :value="title" @input="$emit('update:title', $event.target.value)" /> </template>
到此這篇關(guān)于Vue3.js自定義組件 v-model的文章就介紹到這了,更多相關(guān)Vue3 v-model內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 不使用select實(shí)現(xiàn)下拉框功能(推薦)
這篇文章主要介紹了vue 不使用select實(shí)現(xiàn)下拉框功能,在文章給大家提到了vue select 組件的使用與禁用,需要的朋友可以參考下2018-05-05VUE UPLOAD 通過(guò)ACTION返回上傳結(jié)果操作
這篇文章主要介紹了VUE UPLOAD 通過(guò)ACTION返回上傳結(jié)果操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09vue調(diào)用swiper插件步驟教程(最易理解且詳細(xì))
有時(shí)候我們需要在vue中使用輪播組件,如果是在vue組件中引入第三方組件的話(huà),最好通過(guò)npm安裝,從而進(jìn)行統(tǒng)一安裝包管理,下面這篇文章主要給大家介紹了關(guān)于vue調(diào)用swiper插件的相關(guān)資料,需要的朋友可以參考下2023-04-04五種Vue實(shí)現(xiàn)加減乘除運(yùn)算的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種Vue實(shí)現(xiàn)加減乘除運(yùn)算的方法,文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們深入了解vue有一定的幫助,需要的可以了解下2023-08-08axios解決高并發(fā)的方法:axios.all()與axios.spread()的操作
這篇文章主要介紹了axios解決高并發(fā)的方法:axios.all()與axios.spread()的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11vue通過(guò)style或者class改變樣式的實(shí)例代碼
這篇文章主要介紹了vue通過(guò)style或者class改變樣式的實(shí)例代碼,在文中給大家提到了vue的一些樣式(class/style)綁定,需要的朋友可以參考下2018-10-10elementui中el-input回車(chē)搜索實(shí)現(xiàn)示例
這篇文章主要介紹了elementui中el-input回車(chē)搜索實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Vue中金額、日期格式化插件@formatjs/intl的使用及說(shuō)明
這篇文章主要介紹了Vue中金額、日期格式化插件@formatjs/intl的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02