arrays - HTML5 没有分离两个对象
问题描述
无法显示两个对象
this._formsServices.fetching(this._route.snapshot.paramMap.get('id')).subscribe(post => {
this.field = this._formsServices.form;
let comma: any;
this.field.forEach(option => {
if (option.optionEn) {
this.options = []; <-----
comma = option.optionEn.split(',');
for (const key in comma) {
if (comma.hasOwnProperty(key)) {
this.options.push({ label: comma[key], value: option.fieldType });
}
}
}
})
});
输出控制台是正确的,但在 HTML5 中没有显示这总是关注最后一个对象
(2) [{…}, {…}]
0: {label: "name1", value: "1"}
1: {label: "name1", value: "1"}
length: 2
__proto__: Array(0)
forms.component.ts:91
(2) [{…}, {…}]
0: {label: "name2", value: "6"}
1: {label: "name2", value: "6"}
解决方案
这是因为您正在擦除this.options
每个循环中的数据。在第一个循环中,您将这两个值推送到0: {label: "name1", value: "1"}
1: {label: "name1", value: "1"}
数组中,在第二个循环中,您正在创建一个新数组this.options = [];
。删除这一行,应该可以工作。
推荐阅读
- jquery - 填充使用 jquery 动态添加的选择列表
- azure - 如何解决“YAML 文件(Azure DevOps)中的意外值和映射错误”
- jenkins - 是否可以通过点击按钮在 Jenkins Pipeline 中添加新的输入框集?
- javascript - 内部带有图像的锚标记不起作用。该怎么办?
- jsonschema - 依赖嵌套值的存在
- angular - 构建命令失败 - Netlify
- python - (现值)我怎样才能一个一个地多个2范围?
- reactjs - 调用 setState 更新程序时 this.state 是否为当前状态?
- javascript - 获取无效 POST、PATCH 的 CORS 错误 - REST 端点
- javascript - 在使用 face-api.js 进行人脸检测后,有什么方法可以自动裁剪人脸?