shape_shi 2020-04-05 17:41 采纳率: 0%
浏览 1084
已结题

vue jsx antd form 表单控件显示隐藏造成数据丢失

我在vue里面用jsx的形式写antd的表单绑定,但是点击按钮显示或隐藏一个formitem后,造成下面的数据全部都没有,不知道怎么办,是我写的有问题么。。。请教~

<script>
export default {
    data () {
        return {
            isShow: false,
            form: this.$form.createForm(this)
        };
    },
    methods: {
        submit () {
            this.form.validateFieldsAndScroll((err, values) => {
                if (err) {
                    return;
                }
                console.log(values, 'formData');
            });
        },
        show () {
            this.isShow = !this.isShow;
        }
    },
    render () {
        let {getFieldDecorator} = this.form;

        return (
            <div>
                <hm-button onClick={this.show}>显示隐藏</hm-button>
                <a-form form={this.form}>
                    <a-form-item label='备注'>
                        {
                            getFieldDecorator('remark',
                                {
                                    rules: [
                                        {
                                            required: true,
                                            message: '请填备注'
                                        }
                                    ]
                                })(<a-textarea placeholder='备注' {...{
                                props: {
                                    placeholder: '备注'
                                }
                            }}/>)
                        }
                    </a-form-item>
                    {
                        this.isShow &&
                            <a-form-item label='订单号'>
                                {
                                    getFieldDecorator('seq',
                                        {
                                            rules: [
                                                {
                                                    required: true,
                                                    message: '请填写订单号'
                                                }
                                            ]
                                        }
                                    )(<a-input {...{
                                        props: {
                                            placeholder: '订单号'
                                        }
                                    }}/>)
                                }
                            </a-form-item>
                    }
                    <a-form-item label='售后原因'>
                        {
                            getFieldDecorator('verify_return_reason',
                                {
                                    rules: [
                                        {
                                            required: true,
                                            message: '请填写实际售后原因'
                                        }
                                    ]
                                })(<a-select {...{
                                props: {
                                    placeholder: '售后原因',
                                    options: [
                                        {
                                            label: '产品有问题',
                                            value: 1
                                        },
                                        {
                                            label: '物流有问题',
                                            value: 2
                                        }
                                    ]
                                }
                            }}/>)
                        }

                    </a-form-item>
                    <a-form-item label='德分'>
                        {
                            getFieldDecorator('paypoints_number',
                                {
                                    rules: [
                                        {
                                            required: true,
                                            message: '请填写德分'
                                        }
                                    ]
                                })(<a-input {...{
                                props: {
                                    placeholder: '德分'
                                }
                            }}/>)
                        }
                    </a-form-item>
                    <a-form-item label='是否赔付'>
                        {
                            getFieldDecorator('is_compensate',
                                {
                                    rules: [
                                        {
                                            required: true,
                                            message: '请填写是否赔付'
                                        }
                                    ]
                                })(<a-radio-group {...{
                                props: {
                                    placeholder: '是否赔付',
                                    options: [
                                        {
                                            label: '否',
                                            value: 0
                                        },
                                        {
                                            label: '是',
                                            value: 1
                                        }
                                    ]
                                }
                            }}/>)
                        }
                    </a-form-item>
                </a-form>
                <hm-button onClick={this.submit}>提交</hm-button>
            </div>
        );
    }
};
</script>

图片说明

图片说明

  • 写回答

2条回答 默认 最新

  • zqbnqsdsmd 2020-04-06 14:19
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法