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

做效果图网站制作网站的步骤和过程

做效果图网站,制作网站的步骤和过程,做移动网站快速排,遵义做手机网站建设说明 通常情况下,React 子组件使用父组件的方法或值通过props传递,反过来,父组件如果需要子组件的方法就需要子组件将自己的方法暴露出去。以下是一个实例: User.tsx import React, { FC, useEffect, useState, useRef } from …

说明

通常情况下,React 子组件使用父组件的方法或值通过props传递,反过来,父组件如果需要子组件的方法就需要子组件将自己的方法暴露出去。以下是一个实例:

User.tsx

import React, { FC, useEffect, useState, useRef } from 'react';
import { Button, Table } from 'antd';
import UserEdit, { UserEditRef } from './UserEdit';
import { EditFilled } from '@ant-design/icons';interface User {desc?: string;name?: string;
}
const User: FC = () => {const userEditRef = useRef<UserEditRef>(null);const columns: any = [{title: '名称',dataIndex: 'name',key: 'name',},{title: '描述',dataIndex: 'desc',key: 'desc',},{title: '操作',render: (_: string, record: User) => {return (<EditFilledonClick={(e) => {userEditRef.current?.open(record);}}/>);},},];const [datasource, setDatasource] = useState<User[]>([{desc: 'I am Tom',name: 'Tom',},{desc: 'I am Marry',name: 'Marry',},]);const updateData = (data?: User) => {const datas = [data, ...datasource];setDatasource(datas);};return (<div><ButtononClick={() => {userEditRef.current.open();}}>新建</Button><Table columns={columns} dataSource={datasource} /><UserEdit ref={userEditRef} onSave={updateData} /></div>);
};export default User;

UserEdit.tsx

import { useState, useImperativeHandle, forwardRef } from 'react';
import { Form, Input, Drawer, Button } from 'antd';interface User {userId?: number;desc?: string;name?: string;
}interface PropType {onSave: Function;
}export interface UserEditRef {open: (currentUser?: User) => void;
}const UserEdit = forwardRef<UserEditRef, PropType>((props, ref) => {//propsconst { onSave } = props;// stateconst [userEditOpen, setUserEditOpen] = useState(false);const [currentFormData, setCurrentFormData] = useState<User>();// 暴露给父组件的属性,open是打开抽屉的方法useImperativeHandle(ref, () => ({open: (currentUser?: User) => {setUserEditOpen(true);setCurrentFormData(currentUser);},}));const onCancel = () => {setUserEditOpen(false);};const onFinish = (values: any) => {onSave(values);setUserEditOpen(false);};return (<Drawertitle={currentFormData ? '用户 | ' + currentFormData?.name : '用户 | 新建'}width="auto"open={userEditOpen}footer={null}onClose={onCancel}destroyOnClose><Form initialValues={currentFormData} onFinish={onFinish}><Form.Itemlabel="组名"name="name"rules={[{ required: true, message: '请输入用户名!' }]}><Input /></Form.Item><Form.Item label="描述" name="desc"><Input.TextArea /></Form.Item><Form.Item><Button type="primary" htmlType="submit">提交</Button><ButtonhtmlType="button"onClick={onCancel}style={{ marginLeft: 8 }}>取消</Button></Form.Item></Form></Drawer>);
});export default UserEdit;

效果预览

1、stackblitz预览
2、InsCode预览

http://www.ds6.com.cn/news/10894.html

相关文章:

  • 深圳网站建设外包公司跨境电商关键词工具
  • 怎么自己做影视网站网站优化排名技巧
  • 做网站需要哪些硬件西安网站制作
  • 想更新公司网站怎么做如何营销推广
  • 手机网站大小百度seo排名优化公司哪家强
  • 建设银行网站入口各平台推广费用
  • python完整网站开发项目视频成都网站推广经理
  • 2019做网站的出路佛山seo优化
  • 内容营销的表现形式比较单一杭州seo教程
  • 南京网站制作公司怎么样网络营销战略
  • 党建网站建设可行性分析网站域名购买
  • 祥云平台做网站好不好南京网站设计公司大全
  • 宁德市城乡建设网站潍坊网站建设公司
  • 做网站背景图片浪漫爱情清理优化大师
  • 怎么恢复网站数据库文件位置优秀软文案例
  • 酒店网站建设协议网店代运营公司靠谱吗
  • 网站代理怎么赚钱长沙在线网站的目标客户
  • 自己做卖东西网站昆明seo网站建设
  • 营销型企业网站建设的基本原则是南通seo
  • 陕西西安网站设计公司短视频营销优势
  • 怎么做网站的排名优化站长工具爱站
  • 二手商品网站怎么做温州seo排名优化
  • 提供网站建设的公司各种推广平台
  • 建网站市场江北seo页面优化公司
  • 建设银行官网站下载地址百度推荐现在为什么不能用了
  • 新乡网站建设如何制作企业网站
  • 公司网站建设的目标国际新闻视频
  • 彩票做的最好是个网站好2023年中国进入一级战备状态了吗
  • 国内电商网站有哪些亚马逊关键词排名提升
  • 网站平台建设合同模版网站优化的方法有哪些