【问题标题】:Redux form clearing field valuesRedux 表单清除字段值
【发布时间】:2017-08-23 10:37:44
【问题描述】:

我正在使用 redux 来隐藏和显示基于值的组件。 当我在选项之间切换时,我想清除这些值。

在隐藏和显示的字段之间切换时,如何从状态中清除值?

验证每个字段的推荐方法是什么?

是否可以从状态中完全删除该字段?

<div>
    <form>
      <Fields
       component={RadioButtonGroupField}
       names={['radioButtonGroup', 'nameTextField', 'nickNameTextField']}
      />
    </ form>
</div>

function RadioButtonGroupField(fields) {
    return(
      <div>
        <RadioButtonGroupComponent
          {...fields.radioButtonGroup.input}
          {...fields.radioButtonGroup.meta}
        />
        {
          (fields.radioButtonGroup.input.value === 'name' ||
          fields.radioButtonGroup.input.value === 'both') &&
          <NameTextFieldComponent
            {...fields.radioButtonGroup.input}
            {...fields.radioButtonGroup.meta}
          />
        }
        {
          (fields.radioButtonGroup.input.value === 'nickname' ||
          fields.radioButtonGroup.input.value === 'both') &&
           <NicknameTextFieldComponent
            {...fields.radioButtonGroup.input}
            {...fields.radioButtonGroup.meta}
          />
        }
      </div>
     );
  }

【问题讨论】:

    标签: reactjs redux redux-form react-redux-form


    【解决方案1】:

    如果其他值处于状态中,为什么这很重要?似乎您可以在提交后查看您的单选值以确定要使用哪些其他值。

    但是,要回答您的问题,您可能会在您的无线电场上放置一个 onChange 侦听器,并且(不要忘记调用 fields.radioButtonGroup.input.onChange())调度一个 change(value==='name' ? 'nickname' : 'name', null) 操作来销毁您想要的输入中的值忽略。

    【讨论】:

    • 最后一件事,为每个字段添加验证的最佳方法是什么?
    • 您可以添加field-level validation function 或提供验证功能for the entire record。
    • 我不清楚如何将field-level validation function 添加到Fields? @erik-r 你能看看来自stackoverflow.com/questions/43218272/… 的cmets。您能否将您对添加验证的想法发表到Fields?
    • 糟糕,你是对的。 Fields 没有字段级验证。为此,您需要验证整个记录。
    • 您是否认为它应该成为一项功能,因为正如@dpwrussell 在这里提到的那样,有几种方法可能想要验证Features:stackoverflow.com/questions/43218272/…。我知道您可能很忙,所以如果您需要帮助,我非常乐意提供帮助。
    猜你喜欢
    • 2018-12-21
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2011-09-15
    • 1970-01-01
    相关资源
    最近更新 更多