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

清除窗体上的错误属性重新访问-反应

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

    我有一个包含几个文本字段的表单。提交表单时,如果提交内容包含错误,则这些错误将显示在页面上。

    代码如下。

    {this.props.missingFields &&
                    <div className="alert alert-danger">
                      <p className="doc-missing-fields" dangerouslySetInnerHTML={this.rawMarkup(this.props.missingFields)} />
                    </div>
                  }
    

    减速器定义如下。

    case helpers.actionTypeSuccess(types.ACTION_SUBMIT_DOCUMENT):
          return {
            ...state,
            userEmployeeDocuments : action.result.data.response.userEmployeeDocuments,
            missingFields         : (action.result.data.response.missingKey) ? action.result.data.response.missingKey : '',
            validator             : {}
          };
    

    现在的问题是,显示错误消息,然后我移动到其他页面并返回到相同的表单, 错误信息仍然显示在那里。

    再次访问表单时,我需要清除错误。

    你知道如何实现这个吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   nilesh bhingaradiya    7 年前

    您必须创建一个新操作,并需要在componentwillunmount中调用它。 如果没有动作调度,就不能更改redux状态

    case helpers.actionTypeSuccess(types.ACTION_CLEAR_SUBMITED_DOCUMENT):
          return {
            ...state,
            userEmployeeDocuments :'',
            missingFields         : '',
            validator             : {}
          };