Vue3+Ant Design 父组件调用子组件方法

devtools/2024/11/9 16:45:57/

父组件代码

<template><search-module-date ref="rangeDateRef" :option="rangeDateOption" @callBackFun="onRangeChange" /><a-button type="default" @click="reset">重置</a-button>
</template><script>
import {getSearchDate} from "@views/financeReview/js/config";
import RangeDate from "@components/RangeDate/Child";
import { getSearchDate } from './js/config'
import {ref} from "vue";
import moment from "moment/moment";
export default {name: "Parent",components: {RangeDate},setup() {const rangeDateRef = ref(null)const rangeDateOption = getSearchDate()/** 时间选择事件 */const onRangeChange = (value) => {// 开始时间console.log(moment(value[0]).format('YYYY-MM-DD HH:mm:ss'))// 结束时间console.log(moment(value[1]).format('YYYY-MM-DD HH:mm:ss'))}/** 重置 */const reset = () => {// 调用子组件方法,清空已选时间。rangeDateRef对应子组件ref的值rangeDateRef.value.clearInput()}return {reset,rangeDateRef,onRangeChange,rangeDateOption}}
}
</script>
<style scoped>
</style>

此处的 rangeDateRef.value.clearInput() 即通过父组件调用子组件的代码实现。其中,rangeDateRef 代表子组件本体,与标签中的 ref="rangeDateRef" 对应。

子组件代码

<template><span> 时间 :</span><a-range-picker ref="range-picker" v-model:value="dateValues"@change="onChange" format="YYYY-MM-DD HH:mm:ss" />
</template>
<script>
import {ref} from "vue";
export default {name: "Child",components: {},props: {option: {type: Object,defalut: () => { }}},setup(props, { emit }) {const dateValues = ref([])// 选择事件,调用父组件方法const onChange = (data) => {// callBackFun对应父组件的callBackFun方法emit('callBackFun', data)}// 清空选择框内容const clearInput = () => {dateValues.value = []}return {onChange,clearInput,dateValues}}
}
</script>
<style scoped>
</style>

代码中 emit('callBackFun', data) 是子组件调用父组件的代码实现,callBackFun 对应父组件指定的实际方法。


http://www.ppmy.cn/devtools/2555.html

相关文章

C语言贪吃蛇(可在头文件中添加食物,选择撞墙是否会死)

1. 项目目标 项目为控制台程序&#xff0c;在控制台上实现。 1. 实现游戏开始界面&#xff0c;让用户选择模式&#xff08;撞墙/循环&#xff09;等&#xff1b; 2. 实现地图的绘制&#xff1b; 3. 实现贪吃蛇&#xff0c;并使其根据用户的命令移动&#xff1b; 4. 实现食物的…

将自己的项目上传至Git

一、安装Git 官网:Git (git-scm.com) 二、注册gitee 官网:工作台 - Gitee.com 进入“我的”出现以下界面 三、创建仓库 点击加号&#xff0c;新建仓库 根据自己的需求取名&#xff0c;描述仓库&#xff0c;开源还是私有&#xff0c;点击创建即可&#xff0c;点击我的即可…

10. Spring MVC 程序开发

本文源码位置: Spring-MVC 1. Spring MVC 概要 摘自Spring官方&#xff1a; Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes …

【C语言】【数据结构】项目实践——贪吃蛇游戏(超详细)

前言 本篇博客我们来实现一个小游戏项目——贪吃蛇&#xff0c;相信肯定很多人都玩过&#xff0c;那么整个贪吃蛇是怎么实现出来的那&#xff0c;这个项目用到了很多方面的知识&#xff1a;C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。我们就通过这…

微信小程序之自定义组件及使用

1、创建自定义组件文件夹与文件&#xff1a; 创建一个名为custom-dialog的自定义组件&#xff0c;位于components下&#xff0c;创建自定义弹窗组件文件夹结构如下&#xff1a; 写好自定义组件的结构文件.wxml、样式文件wxss、逻辑文件.js。 2、组件注册&#xff1a; 该组件…

【2024官方文档版】React-描述IU

系列文章目录 一、快速入门【基础】 二、描述IU 文章目录 系列文章目录二、描述IU1.第一个组件1.1 组件是什么?1.2 构建组件的方法1.3嵌套和组织组件1.4课后作业1.5 小结: 2.组件的导入导出2.1根组件文件2.2 导入导出文件 3. 使用JSX书写标签语言3.1 将HTML转化为JSX3.2作业 …

Python 如何的调试模式使用 Python 的内置调试器 pdb 或者集成开发环境(IDE)如 PyCharm、Visual Studio Code

Python 的调试模式通常是通过使用 Python 的内置调试器 pdb 或者集成开发环境&#xff08;IDE&#xff09;如 PyCharm、Visual Studio Code 等中的调试工具来实现的。 使用 pdb pdb 是 Python 的标准库中的一个模块&#xff0c;它提供了一个交互式的源代码调试器。你可以使用…

LLM padding left or right

参考博客&#xff1a; 大部分的大模型(LLM)采用左填充(left-padding)的原因 注&#xff1a;文章主要内容参考以上博客&#xff0c;及其评论区&#xff0c;如有侵权&#xff0c;联系删除。 最近在看大模型相关内容的时候&#xff0c;突然想到我实习时候一直一知半解的问题&…