Javascript 如果JSON数据中存在数据,则输入onchange checker

Javascript 如果JSON数据中存在数据,则输入onchange checker,javascript,reactjs,antd,Javascript,Reactjs,Antd,我有一个用户要求,当添加一个表单时,它应该检查表单的名称是否已经存在。如何在es6中做到这一点?我正在使用AntDesign和ReactJS 这是我的密码 <Form.Item label="Form Name"> {getFieldDecorator('formName', { rules: [formConfig], })(<Input name="formName" onChange={onChange} />)} </Form.Item>

我有一个用户要求,当添加一个表单时,它应该检查表单的名称是否已经存在。如何在es6中做到这一点?我正在使用AntDesign和ReactJS

这是我的密码

<Form.Item label="Form Name">
  {getFieldDecorator('formName', {
   rules: [formConfig],
  })(<Input name="formName" onChange={onChange} />)}
</Form.Item>

如果希望动态查询表单字段,则应使用

它注入了有用的功能,如
onfielschange
listener:

const onFieldsChange = (_, changedFiels) => {
  const { username } = changedFiels;
  if (username) {
    // Make your API checks
    console.log(`Now changing ${username.name}`);
  }
};

const ValidatedFields = Form.create({ onFieldsChange })(App);
注意:您应该保持您的
表单。项目
不受控制,因此在收集表单数据时避免
onChange

如果您仍然坚持控制表单项,则应使用:


如果要动态查询表单字段,则应将表单包装为

它注入了有用的功能,如
onfielschange
listener:

const onFieldsChange = (_, changedFiels) => {
  const { username } = changedFiels;
  if (username) {
    // Make your API checks
    console.log(`Now changing ${username.name}`);
  }
};

const ValidatedFields = Form.create({ onFieldsChange })(App);
注意:您应该保持您的
表单。项目
不受控制,因此在收集表单数据时避免
onChange

如果您仍然坚持控制表单项,则应使用:


所有表单名称都是本地的还是存储的?@zfrisch它将在APIC中发布。如果
表单中的标签
表单名称
,项目
存在,或者
表单
中的字段
表单名
,您想检查什么?@DennisVash字段名。从api获取列表,然后检查数据是否存在并显示验证。否则,它将被成功添加您的问题不清楚,因此我将详细说明:像
formName
这样的字段是否是动态添加的,这就是为什么您要检查它是否存在,或者您要检查
formName
中的
输入是否不是空的?是否所有表单名称都是本地的,或存储?@zfrisch它将发布在API中。如果
Form.Item
中的标签
Form Name
存在,或者
Form
中的字段
formName
,您想检查什么?@DennisVash字段名。从api获取列表,然后检查数据是否存在并显示验证。否则,它将被成功添加您的问题不清楚,因此我将详细说明:像
formName
这样的字段是动态添加的,这就是为什么您要检查它是否存在,或者您要检查
formName
中的
输入是否不为空?
const handleChange = e => {
  const { name, value } = e.target;
  const { getFieldValue } = form;

  setState(() => ({
    ...state,
    [name]: value
  }));

  // or use getFieldValue for a single query
  const values = getFieldsValue(['formName',...more fields]);

  if (values.length) {
    // API CALL
  }
};