首页 前端知识 vue3自定义组件使用v-model方式

vue3自定义组件使用v-model方式

2024-05-22 09:05:22 前端知识 前端哥 955 512 我要收藏

在Vue3中,我们可以使用v-model指令在自定义组件中实现双向数据绑定。这篇文章将介绍如何在Vue3中自定义组件并使用v-model方式。
子组件:

<template>
  <el-input v-model="modelData" @change="handleChange"> </el-input>
</template>

<script setup>
import { defineProps, defineEmits, watch, ref } from 'vue';

const props = defineProps({
  modelValue: { type: [String, Number] }
});

const emits = defineEmits(['change', 'update:modelValue']);
const modelData = ref(props.modelValue);
watch(
  () => props.modelValue,
  (n) => {
    modelData.value = n;
  }
);
const handleChange = (params) => {
  // 如果不需要父组件自定义方法 可以直接使用emits('update:modelValue', params)
  emits('change', emits('update:modelValue', params));
};
</script>

父组件调用:

<template>
  <child v-model="inputModel" @change="handleChange" />
</template>
<script setup>
import child from 'xxx/child.vue';

const handleChange = ()=>{
// 自定义监听事件
}
</script>
转载请注明出处或者链接地址:https://www.qianduange.cn//article/9042.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!