vue3 v-model用法
子组件<template><div><input :value="age" @input="changeAge" ref="ageRef"><input :value="name" @input="changeName" ref="nameRef"></div></template><script>import {
·
子组件
<template>
<div>
<input :value="age" @input="changeAge" ref="ageRef">
<input :value="name" @input="changeName" ref="nameRef">
</div>
</template>
<script>
import {defineComponent,ref} from "vue"
export default defineComponent({
name: "Test.vue",
props:{
age: String,
name:String,
},
setup(prop,context){
const ageRef = ref()
const nameRef = ref()
const changeAge = ()=>{
context.emit("update:age",ageRef.value.value)
}
const changeName = ()=>{
context.emit("update:name",nameRef.value.value)
}
return {
changeAge,
ageRef,
nameRef,
changeName,
}
}
})
</script>
父组件
<div>
{{age02}}
{{name02}}
<Test v-model:age="age02" v-model:name="name02"></Test>
</div>
<script lang="ts">
import { defineComponent,reactive,ref,computed,onMounted} from 'vue';
import 'bootstrap/dist/css/bootstrap.min.css'
import Test from "@/components/Test.vue"
export default defineComponent({
name: 'App',
setup(){
const age02 = ref("32")
const name02 = ref("xx")
return {
age02,
name02,
}
},
components: {
Test,
}
});
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/*text-align: center;*/
color: #2c3e50;
margin-top: 60px;
}
</style>
更多推荐
已为社区贡献4条内容
所有评论(0)