ant Design表格使用
react 类组件
import React, { Component, createRef } from "react";
import { Form, Input, Button, Row, Col, message } from "antd";
import { withRouter } from "react-router-dom";
import Caption from '@/components/Captcha'
import Model from '@/models/common'
class NormalLogin extends Component {
constructor(props){
super(props)
this.ref_captcha = createRef()
}
state ={
key:'',
}
render() {
return (
<div>
<Form
{...layout}
name="basic"
initialValues={{
remember: true,
}}
onFinish={this.onFinish}
onFinishFailed={this.onFinishFailed}
>
<Form.Item
label="用户名"
name="username"
rules={[
{
required: true,
message: "请输入用户名!",
},
]}
>
<Input />
</Form.Item>
<Form.Item
label="密码"
name="password"
rules={[
{
required: true,
message: "请输入密码!",
},
]}
>
<Input.Password />
</Form.Item>
<Form.Item
label="验证码"
>
<Row gutter={8}>
<Col span={14}>
<Form.Item
name="captcha"
noStyle
rules={[
{
required: true,
message: "请输入验证码!",
},
]}
>
<Input />
</Form.Item>
</Col>
<Col span={10}>
{}
<Caption height = '30' setkey = {this.setkey} ref={this.ref_captcha}/>
</Col>
</Row>
</Form.Item>
<Form.Item {...tailLayout}>
<Button type="primary" htmlType="submit" block>
登录
</Button>
</Form.Item>
</Form>
</div>
);
}
onFinish = (values) => {
values['key'] = this.state.key
Model.normalLogin(values).then((ret)=>{
if(ret.errNo === 0){
message.success(ret.message,1,()=>{
this.props.history.push('/dashboard')
})
}else{
message.error(ret.errText)
this.ref_captcha.current.getMessage()
}
})
};
onFinishFailed = (errorInfo) => {
console.log("Failed:", errorInfo);
};
setkey = (key) =>{
this.setState(()=>{
return {
key,
}
})
}
}
const layout = {
labelCol: {
span: 8,
},
wrapperCol: {
span: 16,
},
};
const tailLayout = {
wrapperCol: {
offset: 8,
span: 16,
},
};
export default withRouter(NormalLogin);
···