Vue組件上使用v-model之單選框
先給大家介紹下Vue組件上使用v-model之單選框的實(shí)例代碼。
子組件內(nèi)容:
<template> <div> <input type="radio" :id="valueName" :value="valueName" :checked="picked === valueName" :picked="picked" @click="$emit('change', $event.target.value)" /> <label :for="valueName">{{ valueName }}</label> </div> </template> <script> export default { props: ["picked", "valueName"], model: { prop: "picked", event: "change", }, computed: {}, methods: {}, }; </script> <style> </style>
父組件內(nèi)容:
<template> <div> <child-radio v-for="valueName in valueNames" :key="valueName" v-model="picked" :valueName="valueName" ></child-radio> 顯示父組件單選的內(nèi)容:{{ picked }} --> </div> </template> <script> import ChildRadio from "./ChildRadio.vue"; export default { components: { ChildRadio }, data() { return { picked: "", // valueNames: ["One", "Two", "Three"], }; }, }; </script> <style> </style>
vue組件v-model
vue中數(shù)據(jù)數(shù)據(jù)流向
vue中數(shù)據(jù)流向是單向的,也就是說(shuō)我們不能直接修改props中的值所以我們都會(huì)
<template> <div> <Renderer :data='data' @updateValue='updateValue'/> </div> </template> <script setup> 我這里使用unplugin-auto-import所以不必導(dǎo)入ref import Renderer from "./components/Render.vue" let data = ref('0'); 這樣的方式修改父組件給我們傳遞的值 const updateValue = (value) =>{ data.value = value; } </script>
<template> <div> <input type="text" v-model="content" @input="loadValue "> </div> </template> <script setup> const emit = defineEmits(); let content = ref(''); const loadValue = () => { emit('updateValue', content.value); } </script>
因?yàn)檫@中操作太頻繁了所以vue新增v-model:data='data‘這種方式修改父組件數(shù)據(jù)
<template> <div> 第一個(gè)data是,如果需要修改,修改當(dāng)前組件的那個(gè)值 <Renderer v-model:data="data"/> </div> </template> <script setup> import Renderer from "./components/Render.vue" let data = ref('0'); </script>
<template> <div> <input type="text" v-model="content" @input="updateValue"> </div> </template> <script setup> let content = ref(''); const emit = defineEmits(); const updateValue = ()=>{ emit('update:data', content.value); } </script>
現(xiàn)在v-model可以自定義修飾符
//vue2提供的修飾符 v-model.trim(去掉兩端空格) v-model.number(只輸入number) v-model.lazy(change事件觸發(fā))
<template> <div> <Renderer v-model:data.capitalize="data"/> {{data}} </div> </template> <script setup> import Renderer from "./components/Render.vue" let data = ref('0'); </script>
<template> <div> <input type="text" v-model="content" @input="updateValue" /> </div> </template> <script setup> const props = defineProps({ dataModifiers: Object }); let content = ref(''); const emit = defineEmits(); const updateValue = () => { if (props.dataModifiers.capitalize) { content.value = content.value.charAt(0).toUpperCase() + content.value.slice(1) } emit('update:data', content.value); } </script>
到此這篇關(guān)于Vue組件上使用v-model之單選框的文章就介紹到這了,更多相關(guān)Vue 使用v-model單選框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
uniapp實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián)選擇功能(含地區(qū)json文件)
這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián)選擇功能(含地區(qū)json文件)的相關(guān)資料,級(jí)級(jí)聯(lián)是一種常見(jiàn)的網(wǎng)頁(yè)交互設(shè)計(jì),用于省市區(qū)選擇,它的目的是方便用戶在一系列選項(xiàng)中進(jìn)行選擇,并且確保所選選項(xiàng)的正確性和完整性,需要的朋友可以參考下2024-06-06關(guān)于Vue?ui?的沒(méi)反應(yīng)、報(bào)錯(cuò)問(wèn)題解決總結(jié)
這篇文章主要介紹了關(guān)于Vue?ui?的沒(méi)反應(yīng)、報(bào)錯(cuò)問(wèn)題解決總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09詳解如何去除vue項(xiàng)目中的#——History模式
這篇文章主要介紹了詳解如何去除vue項(xiàng)目中的#——History模式 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10vue項(xiàng)目中如何通過(guò)cdn引入資源并配置詳解
生產(chǎn)環(huán)境中將項(xiàng)目依賴的一些第三方包替換成通過(guò)cdn方式外部加載,而不是打包到 vender,對(duì)于提升應(yīng)用的加載、響應(yīng)速度很有意義,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中如何通過(guò)cdn引入資源并配置的相關(guān)資料,需要的朋友可以參考下2022-06-06vue實(shí)現(xiàn)鼠標(biāo)移過(guò)出現(xiàn)下拉二級(jí)菜單功能
這篇文章主要介紹了vue實(shí)現(xiàn)鼠標(biāo)移過(guò)出現(xiàn)下拉二級(jí)菜單功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12vue主動(dòng)刷新頁(yè)面及列表數(shù)據(jù)刪除后的刷新實(shí)例
今天小編就為大家分享一篇vue主動(dòng)刷新頁(yè)面及列表數(shù)據(jù)刪除后的刷新實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09在vue中實(shí)現(xiàn)禁止屏幕滾動(dòng),禁止屏幕滑動(dòng)
這篇文章主要介紹了在vue中實(shí)現(xiàn)禁止屏幕滾動(dòng),禁止屏幕滑動(dòng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07