lwc中的javascript set.has问题

Posted

技术标签:

【中文标题】lwc中的javascript set.has问题【英文标题】:issue with javascript set.has in lwc 【发布时间】:2020-11-29 08:52:01 【问题描述】:

我正在尝试在闪电网络组件中使用 set.has(),但它似乎不起作用。

下面是代码sn-p..

sStatusToVerify = 'Complete';
var setStatusVals = [...new Set(this.lstAllData.map(obj => obj.sStatus))];
console.log('setStatusVals  : ',setStatusVals);
console.log('Contains?? : ' ,setStatusVals.has(sStatusToVerify));

setStatusVals 控制所有值,它包含“完成”。但是,根本不打印下一个控制台。理想情况下应该打印 true。不知道为什么这不起作用。

这里有什么问题?

【问题讨论】:

【参考方案1】:

您的解决方案的问题是,您正在使用扩展运算符 [... new Set()] 将集合转换回数组,而数组没有 has 方法。因此问题

var sStatusToVerify = 'Complete';

var arr=[sStatus:'Complete',sStatus:'Start',sStatus:'InProgress'];

var setStatusVals = new Set(arr.map(obj => obj.sStatus));

console.log(setStatusVals.has(sStatusToVerify));

【讨论】:

以上是关于lwc中的javascript set.has问题的主要内容,如果未能解决你的问题,请参考以下文章

组合框中的默认选择列表值 - LWC

将值传递给 LWC 中的闪电输入标签

trailhead学习之 LWC for Aura Developers

有没有办法将多个(和不同的)参数从闪电网络组件(LWC)中的 JS 传递给 Apex 控制器类?

学习JavaScript数据结构与算法 第七章

Salesforce LWC学习(十六) Validity 在form中的使用浅谈