是否可以删除、禁用或隐藏angular4中选择属性的下拉选项
我已经用angular4编写了代码,我想隐藏或禁用下拉列表中出现的重复选项。你能告诉我藏起来的可能方法吗 我试着从中实现代码- 分配.component.ts是否可以删除、禁用或隐藏angular4中选择属性的下拉选项,angular,html-select,dropdown,Angular,Html Select,Dropdown,我已经用angular4编写了代码,我想隐藏或禁用下拉列表中出现的重复选项。你能告诉我藏起来的可能方法吗 我试着从中实现代码- 分配.component.ts import * as $ from 'jquery'; import { JQuery } from 'jquery'; export class AssignComponent implements OnInit { seen = {}; getRolesList() { var url =
import * as $ from 'jquery';
import { JQuery } from 'jquery';
export class AssignComponent implements OnInit {
seen = {};
getRolesList() {
var url = config.url;
var port = config.port;
this.http.post("http:....
.map(result => this.rolesList = result.json())
.subscribe((res: Response) => {
JQuery('.updateMappingUserRole').children().each(function() {
var txt = JQuery(this).attr('value');
if (this.seen[txt]) {
JQuery(this).remove();
} else {
this.seen[txt] = true;
}
});
}
分配.component.ts
import * as $ from 'jquery';
import { JQuery } from 'jquery';
export class AssignComponent implements OnInit {
seen = {};
getRolesList() {
var url = config.url;
var port = config.port;
this.http.post("http:....
.map(result => this.rolesList = result.json())
.subscribe((res: Response) => {
JQuery('.updateMappingUserRole').children().each(function() {
var txt = JQuery(this).attr('value');
if (this.seen[txt]) {
JQuery(this).remove();
} else {
this.seen[txt] = true;
}
});
}
角色:
{{UpdateMappingSerrole}}
{{i.ROLE_CD}
.map(result=>this.removeDuplicates(result.json(),this.rolesList));
RemovedUpplicates(json:any[],destination:any[]){
destination=json.reduce((p,n)=>{
//如果角色已在数组中,请不要推送
如果(!p.includes(n)){p.push(n);}
返回p;
}, []);
}
此函数将使用reduce
函数转换HTTP调用返回的数组
编辑:reduce
的工作原理()
对于Javascript新手或不了解reduce
功能的人:
reduce
是一个迭代数组并对其进行变换的函数。它的签名是
reduce(callback(previousElement, nextElement, currentIndex, arr), startingValue);
让我们使用一个例子:将数字数组转换为它们的平方值
const initial=[1,2,3,4];
const transformed=initial.reduce((p,n)=>{
p、 推送(n*n);
返回p;
}, []); // 将给出[1,4,9,16]
现在让我们把它分解一下:
在第一次迭代中,我们使用数组的第一项:1
reduce
函数的初始值为空数组。在回调中,这将给出
p = [], n = 1
因此,我们将平方值1推入数组,然后返回数组(强制)
接下来的迭代是:回调的值是
p = [1], n = 2
我们做同样的过程,在第三次和第四次迭代中,我们会有这样的结果
3 : p = [1, 4], n = 3
4 : p = [1, 4, 9], n = 4
一旦函数完成(
nextElement
没有更多的值可获取),它将返回previousElement
的最后一个值,这是转换后的数组。reduce
对我来说是一个新的地方,nice:)我收到以下错误-类型“AssignComponent”上不存在属性“RemovedUpplicates”。找不到名称“destination”……我们需要添加任何库或href吗link@SuchetaShrivastavaremoveDuplicates
应该是组件的一个功能,您可能在其他地方编写了它(可能在另一个函数中)。我想你会理解的。不,你不需要库。@trichetriche如果你能添加更多的解释,对其他人来说也会很好well@trichetriche太好了,谢谢!!我希望我能把你的答案提高两次:P