由于数据库中的NULL字段导致的Angular表单的问题 - 近在眼前的岔路口我却要绕地球一圈才能进入

发布于 2022-09-11 17:07:26 字数 1144 浏览 31 评论 0

  • 数据库中的NULL数据
    图片描述
  • Angular 中声明了自定义类型
    图片描述

    保证这里的属性名称和DB中表的字段名称一致

  • Angular 中向后端请求数据
    图片描述

    通过console.log()打印出来的结果集是:
    图片描述

    可以看到在数据库表中为NULL的字段反应到数组的对象中都没有了对应的属性

  • Angular 表单
    图片描述

    那么我通过这个方式:this.expandForm.setValue({...val[0]});,给表单对象赋值报错:
    图片描述

    是由于数组val中的对象没有属性oordercode
    这个问题要怎么解决?

  • 下面介绍我的解决方法
    图片描述

    然后从后端请求来数据后要加工下
    图片描述

    通过上面的方法加工后,可以在所有属性都有的情况下把DB端存在的值赋值过来
    以达到这样的目的:DB端有值则填充,DB端NULL值则Angular端的对象的属性也是NULL
    那么以后就可以愉快的用:{...newData} 进行赋值了。
    感觉好累啊,还有别的实现方法么?或者是我一开始就走错了?
    欢迎联系QQ:409223171,请注明:null

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野の 2022-09-18 17:07:26

数据库字段最好不要有null,每个字段给一个默认值。比如:mysql的表的字段定义

  `currency_desc` varchar(100) NOT NULL DEFAULT '' COMMENT 'xxxx',
  `days` int(11) NOT NULL DEFAULT '0' COMMENT 'xxxxxx',
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文