zoukankan      html  css  js  c++  java
  • 使用react中antd design UI库from中的getFieldsValue,getFieldValue,validateFields,resetFields,getFieldDecorator,initialvalue的用法

    一.关于react中from表单中getFieldsValue,getFieldValue,validateFields,resetFields,getFieldDecorator,initialvalue的用法

      1 import React from 'react';
      2 import { Card, Row, Col, Form, DatePicker, Select, Button, Checkbox, Table, Switch, message, Pagination, Input  } from 'antd';
      3 const { Option } = Select;
      4 const FormItem = Form.Item;
      5 const formItemLayout = {    // label 和input宽度
      6     labelCol: { span:7 },
      7     wrapperCol: { span: 17 },
      8 };
      9 const formItemSwitch = {    // label 和input宽度
     10     labelCol: { span:11 },
     11     wrapperCol: { span: 13 },
     12 };
     13 
     14 const AccordingConsumption = Form.create()(
     15     class extends React.Component {
     16         constructor() {
     17             super();
     18             this.state = {
     19                 userInfo: JSON.parse(window.sessionStorage.userData),
     20                 data: [],
     21                 queryCondition: {},
     22                 SelectData: {},
     23                 inOpLocDr:'',
     24                 vendor: '',
     25                 WaListData: [], //库存单数据
     26                 pageSize: 10,
     27                 page: 1,
     28                 total:0,
     29             };
     30         }
     31 
     32         //清空表格内容
     33         handleReset = () => {
     34             this.props.form.resetFields();
     35         };
     36 
     37         searchInformation=()=>{
     38             this.setState({page: 1},()=>{
     39                 this.getConsumptionList()
     40             })
     41         };
     42 
     43         // 获取库存单列表数据
     44         getConsumptionList=()=>{
     45             let data =  this.props.form.getFieldsValue();  //获取所以输入框的值
     46             console.log('data',data);
     47             let useDays = this.props.form.getFieldValue('useDays'); //获取单个输入框的值
     48             console.log('useDays',useDays);
     49             this.props.form.validateFields((error, value)=>{  //获取所以输入框的值(value),并且获取到输入框是否报错(error)。
     50                 let obj = JSON.parse(JSON.stringify(value));
     51                 if(error == null){
     52                     console.log(obj)
     53                 }
     54             })
     55 
     56         };
     57 
     58         render() {
     59             const { getFieldDecorator } = this.props.form;
     60             //库存科室列表
     61             let inOpLocDrSelect = [];
     62             this.state.SelectData.loc && this.state.SelectData.loc.map((item, i) => {
     63                 inOpLocDrSelect.push(<Option value={item.id} key={i}>{item.descripts}</Option>)
     64             });
     65 
     66             return (
     67                 <div className="accordingConsumption">
     68                     <Row>
     69                         <Card
     70                             size="small"
     71                             title="库存报警"
     72                         >
     73                             <Col span={19}>
     74                                 <Form>
     75                                     <Row >
     76                                         <Col span={5}>
     77                                             <FormItem {...formItemLayout} label="科室">
     78                                                 {getFieldDecorator('locDesc',{
     79                                                     initialValue: this.state.userInfo.locID ? this.state.userInfo.locID : undefined,
     80                                                     rules:[{ required : true, message: '科室不能为空'}]
     81                                                 })(
     82                                                     <Select allowClear>
     83                                                         {inOpLocDrSelect}
     84                                                     </Select>
     85                                                 ) }
     86                                             </FormItem>
     87                                         </Col>
     88                                         <Col span={5}>
     89                                             <FormItem {...formItemLayout} label="开始日期">
     90                                                 {getFieldDecorator('StartDate',{
     91                                                     initialValue: undefined,
     92                                                 })(
     93                                                     <DatePicker format="YYYY-MM-DD" />
     94                                                 ) }
     95                                             </FormItem>
     96                                         </Col>
     97                                         <Col span={5}>
     98                                             <FormItem {...formItemLayout} label="结束日期">
     99                                                 {getFieldDecorator('EndData',{
    100                                                     initialValue: undefined,
    101                                                 })(
    102                                                     <DatePicker  format="YYYY-MM-DD" />
    103                                                 ) }
    104                                             </FormItem>
    105                                         </Col>
    106                                         <Col span={4}>
    107                                             <FormItem {...formItemSwitch} label="用药天数">
    108                                                 {getFieldDecorator('useDays',{
    109                                                     initialValue: undefined,
    110                                                 })(
    111                                                    <Input />
    112                                                 ) }
    113                                             </FormItem>
    114                                         </Col>
    115                                         <Col span={5}>
    116                                             <FormItem {...formItemSwitch} label="包含不可用品种">
    117                                                 {getFieldDecorator('incNotFlag',{
    118                                                     valuePropName: 'checked',
    119                                                     initialValue: false,
    120                                                     rules:[{required: false}]
    121                                                 })(
    122                                                     <Switch checkedChildren="是" unCheckedChildren="否" />
    123                                                 ) }
    124                                             </FormItem>
    125                                         </Col>
    126                                     </Row>
    127                                 </Form>
    128                             </Col>
    129                             <Col span={5}>
    130                                 <Row style={{marginBottom: '18px'}} className="button">
    131                                     <Button style={{marginRight: '30px'}} onClick={this.searchInformation}>查询</Button>
    132                                     <Button type="primary" onClick={this.handleReset}>清屏</Button>
    133                                 </Row>
    134                             </Col>
    135 
    136                         </Card>
    137                     </Row>
    138                 </div>
    139             )
    140         }
    141     }
    142 );
    143 export default AccordingConsumption;
  • 相关阅读:
    现代软件工程团队项目贝塔阶段_大规模测试结果_2018.02.08
    现代软件工程_团队项目_贝塔阶段_【转载】10个免费的顶级跨浏览器测试工具_2018.01.15-2018.01.19
    现代软件工程团队项目贝塔阶段_开发日志_2018.01.15-2018.01.19
    现代软件工程_团队项目_贝塔阶段_开发日志_2018.01.10-2018.01.14
    现代软件工程团队项目阿尔法阶段_版本上线_2018.01.09
    现代软件工程_团队项目_阿尔法阶段_现有功能汇总_2018.01.04
    现代软件工程_团队项目_阿尔法阶段_第七次会议记录_2017.12.2
    现代软件工程_团队项目_阿尔法阶段_第六次会议记录_2017.11.30
    现代软件工程_团队项目_阿尔法阶段_前端及后端新增功能_v1.0.1_2017.11.29
    现代软件工程_团队项目_阿尔法阶段_后端python部分编程规范_2017.11.28
  • 原文地址:https://www.cnblogs.com/jack-wangsir/p/13062184.html
Copyright © 2011-2022 走看看