首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeNG中的多选显示空值的多选

PrimeNG中的多选显示空值的多选
EN

Stack Overflow用户
提问于 2021-05-19 04:16:26
回答 2查看 439关注 0票数 1

我有一个多选组件:

代码语言:javascript
复制
<p-multiSelect class="multiple-select" display="chip" [options]="allTags" name="selectedTags" [(ngModel)]="selectedTags" optionLabel="tag" optionValue="tag"></p-multiSelect>

allTags数组中的单个标记:

代码语言:javascript
复制
{ tag: 'someTag' }

selectedTags数组包含字符串。当添加标签时,它可以完美地工作。当我想要预先选择一些标签时,问题就出现了。

代码语言:javascript
复制
  preselectTags(tags: string[]) {
    tags.map(x => this.selectedTags.push(x));

  }

我尝试过forEach,并且简单地重新赋值,而不是array.map,但每次我都会看到类似这样的结果:

填充selectedTags后,Console.logging将返回一个正确字符串数组。我做错了什么?

PS。谢谢你的预支。

EN

回答 2

Stack Overflow用户

发布于 2021-05-19 06:04:09

如果我没记错,我认为selectedTags数组应该与allTags具有相同的结构,因此,当您进行推送时,您必须构建该结构。

代码语言:javascript
复制
preselectTags(tags: string[]) {
   tags.map(x => this.selectedTags.push({val:x}));
}

希望对你有帮助,如果没有,请给出每个数组结构的打印。问候

票数 0
EN

Stack Overflow用户

发布于 2021-05-19 06:48:32

您需要查找选项,以便过滤掉不需要的项目/选择标签。

因此,根据标记数组的内容,您可以循环遍历它们,或者尝试:

代码语言:javascript
复制
preselectTags(tags: string[]) {

  this.selectedTags = tags.map(x => this.allTags.find(y => y.val === x.val));
}

帮助处理上述数组的结构会更容易……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67593381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档