当前位置: 首页 > news >正文

Vue3父组件和子组件

子组件暴露方法给父组件,父组件传值

子组件

  const editCalendar = (value: string) => {console.log('获取父组件的值', value)};//暴露给外部调用defineExpose({editCalendar,});

父组件 

<template>
<CalendarEdit ref="editRef" />
</template><script lang="ts" setup>
const editRef = ref();
editRef.value.editCalendar('传给子组件的值');
</script>

父组件点击按钮弹窗,封装子组件

子组件

<template><n-modalv-model:show="props.dialogVisible":mask-closable="false"preset="dialog"title="确认"content="你确认"positive-text="确认"negative-text="取消"@positive-click="onPositiveClick"@negative-click="onNegativeClick"/>
</template><script setup lang="ts">  const props = defineProps<{dialogVisible: boolean;}>();//关闭弹窗要用的const emit = defineEmits(['close']);const onNegativeClick = () => {emit('close');};const onPositiveClick = () => {emit('close');};
</script>

父组件

<n-button @click="showDialog"> +新增 </n-button>  
<CalendarEdit :dialogVisible="dialogVisible"  @close="handleDialogClose" />const dialogVisible = ref(false);//显示
const showDialog = () => {dialogVisible.value = true;};//关闭const handleDialogClose = () => {dialogVisible.value = false;};

更简便的方法

子组件

<template>
<n-modalv-model:show="showModal"
</n-modal>
</template>const show = () => {
showModal.value = true;
}//暴露给外部调用defineExpose({show,});

父组件

<template><CalendarEdit ref="roleModelRef" />
</template><script lang="ts" setup>const roleModelRef = ref<any>(null);const showDialog = () => {roleModelRef.value?.show({}, 'add');};
</script>

http://www.lryc.cn/news/489167.html

相关文章:

  • Linux 定时任务全解析
  • XLNet——打破 BERT 局限的预训练语言模型
  • 开源代码统计工具cloc的简单使用
  • 如何创建一个项目用于研究element-plus的原理
  • 单片机进阶硬件部分_day2_项目实践
  • labview关于文件路径的问题
  • 72项!湖北省2024年度第二批省级科技计划项目拟立项项目公示!
  • 神经网络问题之:梯度不稳定
  • ORACLE删不掉job,如何解决。
  • 可视化建模与UML《活动图实验报告》
  • 基于 MUSA 的大语言模型推理和服务框架vLLM
  • 鸿蒙网络编程系列48-仓颉版UDP回声服务器示例
  • android-studio-4.2下载 、启动
  • 深度学习day2-Tensor 2
  • 【Android踩过的坑】14.小米系统TTS无法生效的问题
  • RabbitMQ实现异步下单与退单
  • 鸿蒙NEXT开发案例:随机数生成
  • nwjs崩溃复现、 nwjs-控制台手动操纵、nwjs崩溃调用栈解码、剪切板例子中、nwjs混合模式、xdotool显示nwjs所有进程窗口列表
  • 视觉SLAM--经典视觉SLAM框架
  • Wallpaper壁纸制作学习记录05
  • Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
  • springboot基于微信小程序的食堂预约点餐系统
  • 字符串学习篇-java
  • 2024亚太杯数学建模C题【Development Analyses and Strategies for Pet Industry 】思路详解
  • STM32串口——5个串口的使用方法
  • NVR接入录像回放平台EasyCVR视频融合平台加油站监控应用场景与实际功能
  • Ubuntu24.04安装gpfs客户端
  • Android Framework层介绍
  • 如何利用 Puppeteer 的 Evaluate 函数操作网页数据
  • SpringMVC接收请求参数