我有采用接口参数的方法。但我希望我的原始参数“ selectItemList”保持不变。因此,我创建了新的常量“ itemlist”。并且我将项目添加到“ itemList”。但是,当我将项目添加到itemList时,然后自动添加到selectItemList。我只想更改“ itemList”而不是“ selectItemList”。我的错误在哪里?
SelectItem.ts(接口)
export interface SelectItem {
label?: string;
value: any;
styleClass?: string;
icon?: string;
title?: string;
disabled?: boolean;
}
我的方法
addUnselectedItem(selectItemList: SelectItem[]): SelectItem[] {
const itemList = selectItemList;
itemList.unshift({ value: "", label: "Please Select" });
return itemList;
}
答案 0 :(得分:2)
您正在引用“ itemList”中的“ selectItemList”。您需要创建新的数组来解决上述问题。
有两种方法可以做到这一点。
复制新数组中的所有元素,然后修改新数组
使用Array的“切片”方法(返回数组一部分的浅表副本)。
const itemList = selectItemList.slice(0,selectItemList.length);