Files
trailway-front/src/components/management/AddUser.tsx
2024-01-15 19:29:02 +08:00

73 lines
1.8 KiB
TypeScript

import React, { useState, SetStateAction } from 'react';
import Modal from 'antd/lib/modal/Modal';
import { Input } from 'antd';
import Form, { FormInstance } from 'antd/lib/form/Form';
import FormItem from 'antd/lib/form/FormItem';
import { trailwayAddUser } from '../../service';
type AddUserState = {
isShow: boolean;
};
type AddUserProps = {
onSuccess: () => void;
showAddUser?: () => void;
};
class AddUser extends React.Component<AddUserProps, AddUserState> {
private formRef = React.createRef<FormInstance>();
constructor(props: AddUserProps) {
super(props);
this.state = {
isShow: false,
};
}
handleOk = () => {
this.formRef.current?.submit();
};
handleCancel = () => {
this.switchShow();
};
switchShow = () => {
this.setState((state) => ({
isShow: !state.isShow,
}));
};
handleFinish = (values: any) => {
trailwayAddUser(values).then((resp: any) => {
if (resp.code == 200) {
this.switchShow();
this.props.onSuccess();
}
});
};
render() {
return (
<Modal
title="增加用户"
visible={this.state.isShow}
onOk={this.handleOk}
onCancel={this.handleCancel}
closable={false}
>
<Form ref={this.formRef} onFinish={this.handleFinish}>
<FormItem name="username">
<Input placeholder="账户" />
</FormItem>
<FormItem name="password">
<Input placeholder="密码" />
</FormItem>
</Form>
</Modal>
);
}
}
export default AddUser;