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

news/2024/10/18 16:55:27/

父组件代码

<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/news/1425355.html

相关文章

深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)

深度学习知识点&#xff1a;循环神经网络&#xff08;RNN&#xff09;、长短期记忆网络&#xff08;LSTM&#xff09;、门控循环单元&#xff08;GRU&#xff09; 前言循环神经网络&#xff08;RNN&#xff09;RNNs&#xff08;循环神经网络&#xff09;训练和传统ANN&#xff…

洛谷P1057 [NOIP2008 普及组] 传球游戏

#include<iostream> using namespace std; int n;// n个人传球游戏 默认开始球在编号为1的位置 int m;// 传递m次球 int main(){cin>>n>>m;// 动态转方程&#xff1a;// 球传递到编号为k人的手中// 种类总数 传递到k-1编号种类总数 传递到k1编号种类总数//…

ASP.NET MVC企业级程序设计 (接上个作品加了添加)

效果图 实现过程 控制器代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; namespace MvcApplication1.Controllers {public class HomeController : Controller{//// GET:…

JIT在汽车行业中的革命性应用:颠覆传统制造模式,引领智能制造新时代

随着科技的飞速发展和市场竞争的日益激烈&#xff0c;汽车行业正面临着前所未有的变革。其中&#xff0c;准时制生产&#xff08;Just-In-Time&#xff0c;简称JIT&#xff09;作为一种先进的生产管理方式&#xff0c;已经在汽车行业中得到了广泛应用&#xff0c;成为推动汽车产…

Vast+产品展厅 | Vastbase G100数据库是什么架构?(1)

Vastbase G100是海量数据融合了多年对各行业应用场景的深入理解&#xff0c;基于openGauss内核开发的企业级关系型数据库。 了解Vastbase G100的架构&#xff0c;可以帮助您确保数据库系统的高效、可靠和安全运行。 “Vast产品展厅”将分两期&#xff0c;为您详细讲解Vastbas…

【leetcode面试经典150题】61. 反转链表 II(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

20240418金融读报:银行参考汇丰全球化布局银行全球化布局现有路径再读金融助力新型工业化

1、银行全球化布局参考汇丰中国市场开拓思路&#xff08;时光机效应&#xff09;&#xff1a;&#xff08;1&#xff09;找对外开放的国家并利用我国现搭建的网络&#xff0c;比如一带一路沿线&#xff08;2&#xff09;找经济向好的国家&#xff08;3&#xff09;投资倾向于全…

js预编译原理

预编译&#xff08;Hoisting&#xff09;是指在代码执行之前&#xff0c;JavaScript 引擎会将变量和函数的声明提升到当前作用域的顶部。 这意味着在代码中&#xff0c;变量和函数的声明可能在实际代码执行之前 已经被处理了。(提升优先级&#xff1a;函数>变量) 变量提升…