代码之家  ›  专栏  ›  技术社区  ›  GeraltDieSocke

为什么redux表单不将选项字段中的值作为prop传递到submit函数中?

  •  0
  • GeraltDieSocke  · 技术社区  · 7 年前

    我有两个简单的重复表单。 title subTitle text .

    两种表单中的一种使用另一种字段类型 select . 我传入这样一个选项:

    <Field name="test" component="select">
            <option value="test">test</option>
    </Field>
    

    因此,我填写表格并将道具记录如下:

    提交的一般表格: <Form onSubmit={handleSubmit(submitTopic)}>

    运行的实际函数:

    const submitTopic = props => {
        console.log(props);
        // dispatch(createTopic(test, topicTitle, topicSubTitle));
    };
    

    因此,我希望看到的标题是我在表单中键入的字符串,而副标题是我键入的字符串((适用于两种形式) 我还希望看到第三个名为“test”的属性,字符串“test”作为第二种形式的值。

    但事实上 undefined

    以下是我的回购协议的链接:

    https://github.com/dhuber666/CodeHUB

    发生这些情况的文件如下所示:

    enter image description here

    Admin.js文件是我导入并运行它的地方。

    我确保每种形式都有其独特性 identifier 当使用 reduxForm 助手方法。

    在Codesandbox上测试的一个简单示例

    https://codesandbox.io/s/w0mqnwqz9w

    我也有同样的问题。我没有将选项值传递到道具中。

    Form 在行号处 10

    1 回复  |  直到 7 年前
        1
  •  1
  •   Avinash    7 年前

    当您尝试选择一个选项时,它会起作用;当您不选择而直接提交时,它不会起作用,因为在触发onChange事件之前,该值最初是未定义的。 如果您想跳过这一步,可以通过为select创建包装器组件来提供默认值。