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

做美团网站代码wordpress网站搬家

做美团网站代码,wordpress网站搬家,泉州专业建站公司,wordpress计数器说明 通常情况下,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.tj-hxxt.cn/news/129739.html

相关文章:

  • 建设网站都需要哪些内容找工作上什么网
  • 秦皇岛陵县网站建设深圳做装修网站费用
  • 制作杂志wordpress主题百度推广seo
  • dw设计做网站案例独立站
  • 并提示网站菜单导航及用户登录百度pc端入口
  • 临安网站设计新产品市场推广方案
  • 广西政府网站集约化建设方案百度推广客服
  • 温州做网站建设多少钱河南整站关键词排名优化软件
  • 济南怎样做网站推广长沙seo网站管理
  • 咸阳兼职做网站实体店铺引流推广方法
  • 兰州网站建设价谷歌浏览器官网
  • 学院网站源码杭州百度百家号seo优化排名
  • 延安网站设计奶茶推广软文200字
  • c2c网站建设方案百度代做seo排名
  • 学做网站论坛 可以吗百度文库首页
  • 小型企业网站开发价格vue seo优化
  • 官网网站页面设计大兴今日头条新闻
  • 中国做二手房最大的网站深圳排名seo公司
  • 专业网站设计公司排行榜seo发帖论坛
  • 学校招生网络营销方案南宁seo渠道哪家好
  • 网站制作方案介绍及要求谷歌play商店官网
  • 中山外贸网站建设报价网上推广app
  • 有没有专做食品批发的网站手机端怎么刷排名
  • 那个网站专门做婚纱相册刷关键词排名seo
  • 国外十大服务器推荐免费网站排名优化在线
  • 个人可以做网站吗免费网站建站
  • 网站制作div区域是哪儿吉林网络公司
  • 个人网上银行入口关键词推广优化
  • 网站开发项目小组成员职责金戈西地那非片
  • 百度网站怎么做友情链接百度搜索推广优化师工作内容