凤凰涅檠 2022-02-28 11:41 采纳率: 0%
浏览 124

vue3中多个v-model双向绑定的问题

<template>

    <input type="text" v-model="value" @input="valueChange" /><br><br>

    <input type="text" v-model="keyword" /><br><br>

    <a @click="test">输出</a>

</template>

<script lang="ts">

export default {

    name: "subBtn"

};

</script>

<script lang="ts" setup>

const props = defineProps({

    value: undefined,

    keyword: undefined

})

const emit = defineEmits(['update:value'])

const valueChange = (e) => {

    emit('update:value', e.target.value)

}

// const keywordChange = (e) => {

//     emit('update:keyword', e.target.value)

// }

const test = ()=>{

    console.log(props.value)

    console.log(props.keyword)

}

</script>

 

<style lang="scss" scoped>

input {

    border: 1px solid silver;

}

</style>

父组件

<template>

  <sub-btn v-model:value="valueRef" v-model:keyword="keywordRef" />

  <div>

      <a @click="upd">更新</a>

  </div>

</template>

<script lang="ts" setup>

import { ref } from "vue";

import subBtn from "../sub/button.vue"

const valueRef = ref()

const keywordRef = ref()

const upd = ()=>{

    valueRef.value = 'aaa';

    keywordRef.value='bbb'

}

</script>

结果是:输入input1,再输入input2,再输入input1,input2值被清空

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 18:17
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 2月28日