Sri*_*man 8 javascript filter angular
我正在开发Angular中的Multi Select下拉列表,它也有搜索功能.那时我正在通过我的主数据解析输入字段给出的输入,并且只显示DOM中的过滤内容.这是我的功能:
modifyFilter(value: any) {
console.log('value', value); //The value passed from DOM
this.filterContent = this.catalogManufacturerNames; /******/
for(let i=0; i<this.catalogManufacturerNames.length;i++) {
/* Search catalogManufacturerNames for the value and splice all
filterContent not having the matching value */
}
}
Run Code Online (Sandbox Code Playgroud)
代码的问题在于,每次modifyFilter调用该方法时,catalogManufacturerNames它也会随之改变filterContent.因此,每当我打电话时modifyFilter,标记为/******/的行filterContent被分配给前一个而filterContent不是全局,并且可能没有变化catalogManufacturerNames.我认为问题是filterContent并且catalogManufacturerNames得到双向绑定,但我不知道如何根据我的要求修改它.或者还有其他方法可以解决这个问题.欢迎提出建议.
San*_*per 15
在这种情况下,您必须使用Object.assign.它将创建对象/变量的副本,因此当您对主对象执行任何过滤时,它将不会反映在复制的对象中,反之亦然.
您可以{},[]根据您的要求使用.
{}:用于单个对象
[]:用于收集对象
let copiedItem = Object.assign({}, copiedItem , PrimaryItem );
Run Code Online (Sandbox Code Playgroud)
请参阅详细信息:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
| 归档时间: |
|
| 查看次数: |
3599 次 |
| 最近记录: |