其他分享
首页 > 其他分享> > 个人资料

个人资料

作者:互联网

最终的效果:

在这里插入图片描述
整个的毕业设计负责的是前端部分的开发,采用React框架和Ant Design组件库。

个人资料界面部分

import React from 'react';
import './UserInfo.less';
import {Button, Col as div, DatePicker, Form, Input, Select} from 'antd';

class UserInfo extends React.Component<{
  editable: boolean,
}, {
  headImg: string,
}> {
  state = {
    headImg: '',
  };

  render() {

    const onFinish = (values: any) => {
      console.log(values);
    };

    const areas = [
      {label: '昆山杰普软件科技有限公司', value: '昆山杰普软件科技有限公司'},
      {label: '国信蓝桥教育科技股份有限公司', value: '国信蓝桥教育科技股份有限公司'},
      {label: '山西信思智学教育科技有限公司', value: '山西信思智学教育科技有限公司'},
      {label: '天津东软睿道教育信息技术有限公司', value: '天津东软睿道教育信息技术有限公司'},
    ];

    const gender = [
      {label: '男', value: '男'},
      {label: '女', value: '女'},
    ];

    return (
      <Form
        className='out-box'
        name="nest-messages"
        onFinish={onFinish}
        labelCol={{span: 4}}
        wrapperCol={{span: 18}}
        style={{
          width: '70%',
          position: 'relative',
          margin: '50px auto',
        }}
      >
        <div className="img-box">
          <img src="/wyd.jpg"/>
        </div>
        <Form.Item
          className="my-item"
          name="name"
          label="姓名"
        >
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item
          className="my-item"
          name="gender"
          label="性别"
        >
          <Select options={gender} allowClear disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item
          className="my-item"
          name="schoolId"
          label="学号"
        >
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="email" label="Email">
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="website" label="电话">
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="school" label="所在学校">
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="institute" label="所在学院">
          <Input disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="range-time-picker" label="毕业时间">
          <DatePicker showTime format="YYYY-MM" disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="area" label="实训基地">
          <Select options={areas} allowClear disabled={!this.props.editable}/>
        </Form.Item>
        <Form.Item name="introduction" label="自我评价">
          <Input.TextArea disabled={!this.props.editable}/>
        </Form.Item>
        {
          this.props.editable ? (
            <Form.Item wrapperCol={{
              span: 4,
              offset: 10,
            }} className="inner-center">
              <Button type="primary" htmlType="submit">
                保存
              </Button>
            </Form.Item>
          ) : null
        }
      </Form>
    );
  }
}

export default UserInfo;

个人界面样式部分

在样式部分中遇到一个比较难以调试的问题是开始的form表单是以栅格形式排布的,这是我们想要在界面的右上角去增加一个照片放置的位置:去使用了一个比较笨的方法:

.img-box {
  position: absolute;
  right: 5.5vw;
  width: 100px;
  height: $width * 3 / 2;
  z-index: 2;
  img {
    width: 100%;
    height: 100%;
    border-radius: @border-radius-base;
    border: 1px solid @border-color-base;
  }
}

.my-item {
  .ant-form-item-control {
    // flex: none;
    max-width: calc(83.33% - 5.5vw - 120px);
  }
}

标签:个人资料,vw,editable,value,label,width,props
来源: https://blog.csdn.net/aduan__/article/details/115063614