【问题标题】:Facing ant-design form validation issue on production在生产中面临 ant-design 表单验证问题
【发布时间】:2019-06-17 19:57:58
【问题描述】:

基本上,我最近在生产环境中遇到了 ant-design 表单问题,以前它按预期工作。仅当我在本地运行 NPM start 命令时,验证才有效。如果我使用NPM Build: serve,那么在我的本地也面临同样的问题。
执行验证任务时在控制台上显示此错误。

Uncaught TypeError: Cannot read property 'push' of undefined at createBaseForm.js:369

在遇到这个问题后,我尝试更新我所有的 NPM 包以及 mn NPM 和节点版本。

<FormItem>
   {getFieldDecorator('userName', {
      rules: [{ required: true, message: 'Please input username!' }],
      })(<Input addonBefore={<i className="iconfont icon-user" />} 
         size="large" placeholder="Username" /> 
   )}
</FormItem>

它没有向我显示规则中使用的错误消息。

【问题讨论】:

    标签: javascript reactjs react-redux antd ant-design-pro


    【解决方案1】:

    在我的例子中,错误是由于 lodash.memoizelodash.paths 未在 webpack 构建中加载引起的,因为我使用 lodash-webpack-plugin 来减小包大小。

    默认移除的 Lodash 功能:link

    解决方案是选择加入所需的功能。

    new LodashModuleReplacementPlugin({
        'memoizing': true,
        'paths': true
    });
    

    编辑: antd 正在使用 rc-form,而 rc-form 又使用 lodash 来设置错误。

    【讨论】:

    • 如果我的项目中没有使用 lodash 怎么办?
    • @HeratPatel 有什么问题?
    • 在生产版本中没有显示错误。它填充错误并且工作正常,但根本没有显示错误。为了解决这个问题,我在 validateStatushelp 中添加了额外的道具,它可以工作,但在没有添加额外道具之前它可以工作。
    猜你喜欢
    • 1970-01-01
    • 2019-12-25
    • 2019-04-26
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多