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

react 子组件暴露,父组件接收

// Child.jsx
import React, { forwardRef, useImperativeHandle, useState } from 'react';
import { Form, Input } from 'antd';const Child = forwardRef((props, ref) => {const [form] = Form.useForm();const [customState, setCustomState] = useState('默认值');useImperativeHandle(ref, () => ({async getData() {const formValues = await form.validateFields();return {...formValues,customState,};}}));return (<div style={{ border: '1px solid #aaa', padding: 10, marginBottom: 10 }}><Form form={form}><Form.Item name="name" label="名称" rules={[{ required: true }]}><Input /></Form.Item></Form><div><label>其他状态:</label><Inputvalue={customState}onChange={(e) => setCustomState(e.target.value)}/></div></div>);
});export default Child;

父组件如何接收

 

// Parent.jsx
import React, { useRef } from 'react';
import { Button, message } from 'antd';
import Child from './Child';export default function Parent() {const childRef1 = useRef();const childRef2 = useRef();const handleSave = async () => {try {const data1 = await childRef1.current.getData();const data2 = await childRef2.current.getData();console.log('统一收集到的数据:', {child1: data1,child2: data2});message.success('保存成功');} catch (err) {message.error('有数据校验不通过');}};return (<div style={{ padding: 20 }}><Child ref={childRef1} /><Child ref={childRef2} /><Button type="primary" onClick={handleSave}>保存</Button></div>);
}

相关文章:

  • Redis持久化机制深度解析:RDB、AOF与混合持久化
  • 计算机图形学实践:结合Qt和OpenGL实现绘制彩色三角形
  • (第一篇)Springcloud简介与工程搭建
  • Winddows11官网下载安装VMware Workstation Pro17(图文详解)
  • Redis LFU 策略参数配置指南
  • 【C++基础知识】namespace前加 inline
  • 初识Redis · 主从复制(上)
  • 10天学会嵌入式技术之51单片机-day-8
  • Kotlin Multiplatform--01:项目结构基础
  • ctfhow——web入门214~218(时间盲注开始)
  • 【FAQ】安装Agent的主机,为何不能更改显示分辨率
  • SQL Server 2008 R2中varchar(max)的含义
  • Hive 数据同步到 Doris 最佳实践方案:从场景适配到性能调优全解析
  • Python3 基础:控制流结构(条件语句、循环)
  • 【C++基础知识】C++类型特征组合:`disjunction_v` 和 `conjunction_v` 深度解析
  • Visual Studio C/C++编译器cl.exe的/source-charset与/execution-charset设置项
  • 扩展中国剩余定理
  • day 32 学习笔记
  • 【前端】【业务场景】【面试】在前端开发中,如何优化 SVG(可缩放矢量图形)的性能,特别是在处理复杂图形和动画时
  • ZooKeeper配置优化秘籍:核心参数说明与性能优化
  • 去年立案侦办侵权假冒案件3.7万起,公安部公布13起案例
  • 神舟二十号载人飞船发射升空
  • 预订假期酒店却被告知无法入住,去哪儿:对违规酒店予以处罚
  • 北京市交通委通报顺平路潮白河大桥事故直接原因
  • 重庆一幼儿园回应招聘硕士幼教:统一标准,江北区学前教育岗的硬性要求
  • 世界读书日|阅读在上海