Nar*_*kur 5 javascript reactjs redux redux-form react-redux
我正在使用 redux-form 7.0.4,除了以下问题之外,它工作正常。
新用户可以输入详细信息,现有用户可以在同一表单上编辑详细信息。当现有用户编辑详细信息并从表单字段中删除数据时,我遇到了问题。我想添加检查 onBlur。如果用户为空表单字段并且有模糊事件,我需要在字段内填充初始数据。
表单字段:
<Field
  component={InputField}
  type='text'
  name='registeredName'
  className='form-control'
  required
  placeholder='Registered Business Name*'
/>
输入字段组件:
const InputField = ({
  input,
  type,
  placeholder,
  meta: { touched, error, initial }
}) => {
  const onChange = (e) => {
    const val = e.target.value;
    if (type === 'phoneNumber') {
      if (!/^\d+$/.test(val) || String(val).length > 10) {
        return;
      }
    }
    input.onChange(e);
  };
  return (
    <div className='form-group'>
      <input
        {...input}
        onChange={onChange}
        type={type}
        className='form-control'
        placeholder={placeholder}
        value={input.value }
        onBlur={e => {input.value = (!e.target.value) ? initial : e.target.value;}}
      />
      {touched &&
       ((error &&
         <div className='error text-danger'>
           {error}
         </div>
       ))}
    </div>
  );
};
/* eslint-enable */
export default InputField;
您需要在 Field 组件中设置onChange和 ,如下所示:onBlur
<Field
  component={InputField}
  type='text'
  name='registeredName'
  className='form-control'
  required
  placeholder='Registered Business Name*'
  onChange={(event) => {
      ...your onChange function here...
  }}
  onBlur={(event) => {
      ...Your onBlur function here...
  }}
/>
我建议仔细阅读该组件的文档<Field />。
希望这有帮助
| 归档时间: | 
 | 
| 查看次数: | 2579 次 | 
| 最近记录: |