antd4.9 form表单setfieldsvalue 修改表单值

import FormRule from '@/utils/validate.js';
import { Form, Input,Button } from 'antd';
import { inject, observer } from 'mobx-react';
import React, { useEffect } from 'react';
import { userGroupInfoMap,buttonName } from '../keyMap';


const { TextArea } = Input;
const InformatiaonPane = (props) => {

    const store = getMobxStoreData(props.userGroupStore);// eslint-disable-line
    const [form] = Form.useForm();
    const formRef = React.createRef()
    const { userGroupEditData, create } = store;
    const onFinish = (values) => {
        store.createUserGroup({ ...userGroupEditData, ...values });
    }
    
    useEffect(()=>{
        formRef.current.setFieldsValue(userGroupEditData)
    },[userGroupEditData])

    const formItemLayout = { labelCol: { span: 2 }, wrapperCol: { span: 15 } };
    const tailLayout = {
        wrapperCol: { offset: 2, span: 16 },
      };
   
     
    return (
        <>
            <Form form={form} onFinish={onFinish} ref={formRef} >
            {console.log('rightForm',store.userGroupEditData["appId"])}
                {Object.keys(userGroupInfoMap).map(key => {
                    const component = <Input placeholder={`请输入${userGroupInfoMap[key]}`}
                    disabled={key==='appId'||key==='name'?true:false}
                    maxLength={64} />
                  
                    const options = {
                        initialValue: store.userGroupEditData[key],
                        rules: [],
                    };
                    if (key === 'appId') {
                        options.rules.push(FormRule.required);
                    }
                    if (key === 'name') {
                        options.rules.push(FormRule.required);
                    }
                    if (key === 'description') {
                        return (
                            <Form.Item
                                label={userGroupInfoMap[key]}
                                {...formItemLayout}
                                key={key}
                                name={key}
                                {...options} >
                                <TextArea 
                                    rows={3}
                                    placeholder="请输入描述"
                                    autoSize={{ minRows: 3, maxRows: 15 }}
                                />
                            </Form.Item>
                        );
                    }
                    return (
                        <Form.Item
                            label={userGroupInfoMap[key]}
                            {...formItemLayout}
                            key={key}
                            name={key}
                            {...options} >
                            {component}
                        </Form.Item>
                    );
                })}
               
                <Form.Item {...tailLayout}>
                    <Button type="primary" htmlType="submit" onClick={()=>{this.handleOk}}>
                        {buttonName.submit}
                     </Button>
                </Form.Item>
            </Form>
        </>
    )
}

export default inject('userGroupStore')(observer(InformatiaonPane));

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值