首页 > 解决方案 > 自定义组件中的必填字段在填写时显示为必填

问题描述

我正在尝试让我的自定义输入组件与标准required检查一起运行。在我的操场代码中,我放了以下几行:

<Form.Item label='as' name='ass' rules={[{required: true, message: 'basdasd'}]}>
<Input placeholder="asd" />
</Form.Item>

当您单击提交时,此代码将显示一条要求消息,并在您键入内容时清除该消息。就像文档中动态规则的示例一样。

现在我也有这个代码:

<Form.Item rules={[{ required: true, message: 'basdasaaasd' }]} id='micp_form_item_fld_password' name='b'>
<MicpTextField strCode='fld_password' oOriginalProps={{ value: strPassword, onChange: funcSetField, size: 'small' }} />
</Form.Item>

required当您单击提交时,这也将显示该字段,在该字段中放置一个值。但是,当您键入内容时,该字段仍将被视为空,至少所需的检查失败。我想我要么需要做一些事情onChange,要么传递一些更多的原始值。在自定义组件中,作为孩子,您有一个Input.

funcSetField代码是:

const funcSetField = e => {
if (e.target.id === 'micp_fld_email') {
setFldEmail(e.target.value);
} else {
setFldPassword(e.target.value);
}
};

但是,当我删除此功能时没有区别,除非您无法在输入字段中键入内容。

有什么建议吗?

标签: antd

解决方案


问题的原因在于没有 onChange 等触发器。按照手册中的自定义控件帮助我解决了这个问题


推荐阅读