xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

React Hooks Components pass props All In One

React Hooks Components pass props All In One

  1. React Hooks 父子组件如何传递和获取 props

  2. React Hooks 父子组件如何相互调用方法

import React, {
    useState,
    useEffect,
    useRef,
} from 'react';

import {
    Input,
    Button,
} from 'antd';

interface searchProps {
    maxLength: number;
    search: string,
    onSearchData: (a: any) => void;
    setSearch: (a: any) => void;
    onResetData: (a: any) => void;
}

const MonitorSearch = (props: searchProps) => {
    console.log('search props', props);
    const {
        search,
        onSearchData,
        setSearch,
        onResetData,
    } = props;
    const size = 'middle';
    return (
        <>
            <div className="monitor-search-box">
                <Input.Search
                    className="monitor-search-item"
                    placeholder="请输入进行搜索"
                    value={search}
                    onSearch={onSearchData}
                    onPressEnter={onSearchData}
                    onChange={e => setSearch(e.target.value)}
                    style={{ width: 300 }}
                />
                <div className="monitor-search-item">
                    <Button
                        type="default"
                        size={size}
                        className="monitor-search-btn"
                        onClick={onResetData}>
                        重置
                    </Button>
                    <Button
                        type="primary"
                        size={size}
                        className="monitor-search-btn"
                        onClick={onSearchData}>
                        查询
                    </Button>
                </div>
            </div>
        </>
    );
}

export default MonitorSearch;

demo

function components & hooks as props

import React from 'react';
import { Modal } from 'antd';
import {
    ExclamationCircleFilled,
} from '@ant-design/icons';

// import tagService from '@/services/tagService';

function PersonnelModal (props) {
    const { showPersonnelModal, setShowPersonnelModal, originData, getData } = props;

    function handleCancel () {
        setShowPersonnelModal(false);
    }

    function handleConfirm () {
        // tagService.deleteTag({tag_id: originData.tag_id}).then(() => {
        //     getData();
        //     setShowPersonnelModal(false);
        // });
    }

    return (
        <Modal
            title="提示"
            visible={showPersonnelModal} forceRender
            onOk={handleConfirm} onCancel={handleCancel}
            okText="确认" cancelText="取消"

        >
            <div className='flex-normal'>
                {/* icons */}
                <ExclamationCircleFilled style={{color: '#E6A23C', fontSize: 18}}/>
                <span className='p-l-10 lh18'>确认删除{originData?.name}?</span>
            </div>

        </Modal>
    );
}

export default PersonnelModal;

refs



©xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @   xgqfrms  阅读(42)  评论(5编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-11-12 window.navigator All In One
2020-11-12 Navigator.registerProtocolHandler All In One
2020-11-12 HTML a Tag All In One
2019-11-12 ESLint & .eslintignore All In One
2019-11-12 生活常识 & 电热水壶 & 开壶 All In One
2018-11-12 role management
2018-11-12 nodejs & docker
点击右上角即可分享
微信分享提示