首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从角度材质垫-选择-列表中删除所选项目

从角度材质垫-选择-列表中删除所选项目
EN

Stack Overflow用户
提问于 2020-12-29 18:19:50
回答 1查看 744关注 0票数 2

我需要能够从角度材料列表中删除选定的项目。为此,我决定从初始项数组中减去选定项的数组(不确定这是最好的方法)。

我的问题是,我找不到一种方法来将所选项目的数组从HTML传递到TS并处理它。

Angular Material的文档中包含以下示例:

代码语言:javascript
运行
AI代码解释
复制
{{x.selectedOptions.selected.y}}

其中x是mat- selector list选择器的ID,y是对所选元素执行的操作。但这似乎只在HTML中有效。

下面是我的代码,它不能工作。

在HTML中,我设置了列表和触发删除功能的按钮。

代码语言:javascript
运行
AI代码解释
复制
<mat-selection-list #apps>
    <mat-list-option *ngFor="let app of appList" [value]="app">
      {{app}}
    </mat-list-option>
</mat-selection-list>

<button 
class='remove-button' 
(click)="deleteSelected()"
mat-stroked-button color="primary">
    Remove from list
</button>

在这里我试图打乱所选的选项,但显然行不通,因为selectedOptions被声明为字符串数组,并且没有" selected“方法。我知道这是一次愚蠢的尝试,但无论如何,找不到更好的方法:)应该有一种方法将选定的元素作为数组传递给TS……

代码语言:javascript
运行
AI代码解释
复制
export class SubscriptionListComponent implements OnInit {

  selectedOptions: string[]
  appList: string[] = ['Instagram', 'Facebook', 'Telegram', 'WhatsApp', 'GitHub']

  deleteSelected() {
    this.appList.filter(x => !this.selectedOptions.selected.includes(x))
  }

这样做的目的是在单击按钮时修改appList,这样选定的元素就会从其中删除,并且不会显示在列表中。

EN

回答 1

Stack Overflow用户

发布于 2020-12-30 18:13:30

对于那些可能面临同样挑战的人,我发布了对我有效的代码,并且完全按照我想要的做了(单击时从列表中删除选定的元素)。

HTML保持与上面相同。

TS:

代码语言:javascript
运行
AI代码解释
复制
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatSelectionList } from '@angular/material/list';


@Component({
  selector: 'app-subscription-list',
  templateUrl: './subscription-list.component.html',
  styleUrls: ['./subscription-list.component.scss']
})
export class SubscriptionListComponent implements OnInit {

  @ViewChild('apps') selectionList: MatSelectionList

  appList: string[] = ['Instagram', 'Facebook', 'Telegram', 'WhatsApp', 'GitHub']

  deleteSelected() {
    var selected: string[] = this.selectionList.selectedOptions.selected.map(s => s.value)
    var diff = this.appList.filter(el => !selected.includes(el))
    this.appList = diff
  }

  constructor() { }

  ngOnInit(): void {
  }

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

https://stackoverflow.com/questions/65496858

复制
相关文章
Python - 从字典列表中删除字典
字典是python的一个非常常用的功能,用于根据用户需要在其中存储数据。另一个典型的过程涉及编辑或操作此数据。要成为一名高效且快速的程序员,您必须弄清楚如何从字典列表中删除字典。有许多技术可以从词典列表中删除字典,本文将介绍这些技术。
很酷的站长
2023/08/11
3900
Python - 从字典列表中删除字典
【leetcode刷题】T103-从分类列表中删除重复项目 II
使用两个指针pre和cur,pre始终指向链表前一部分非重复元素的最后一个节点,cur指向pre指向的节点后重复元素的最后一个节点。当pre->next == cur时,说明cur->val是唯一元素,不用删除,否则pre->next = cur->next。
木又AI帮
2019/07/17
2.3K0
【说站】python迭代中删除列表项目
2、通过分配给slice somelist[:],改变现有列表以仅包含想要的项目。
很酷的站长
2022/11/24
1.6K0
【说站】python迭代中删除列表项目
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.8K0
如何从 Python 中的字符串列表中删除特殊字符?
在进行字符串处理和文本分析时,有时我们需要从字符串列表中删除特殊字符。特殊字符可能是空格、标点符号、换行符等,在某些情况下它们可能干扰我们的文本处理或分析任务。Python 提供了多种方法来删除字符串列表中的特殊字符。本文将详细介绍在 Python 中删除字符串列表中特殊字符的几种常用方法,并提供示例代码帮助你理解和应用这些方法。
网络技术联盟站
2023/06/01
8.7K0
从 Python 列表(list)中随机选择一个元素
import random foo = ['a', 'b', 'c', 'd', 'e'] print(random.choice(foo)) 或 foo = ['a', 'b', 'c', 'd', 'e'] from random import randrange random_index = randrange(0,len(foo)) print foo[random_index]
Python疯子
2018/09/06
7K0
从程序媛角度去看项目管理
项目管理一般是从技术负责人、项目产品负责人的角度去看的,程序员虽然码代码很重要,但对项目的领悟能力也同样重要。我们经常会遇到各种困惑:手上的项目需求越来越多,BUG列表只增不减,该采取怎样的措施,保证自己的生产力?希望以下的讲述带给你莫名的认同感,或多或少让你磨刀霍霍一试。
胡哥有话说
2019/10/15
4770
【说站】python列表删除项目的方法
2、使用list对象的pop方法。此方法将项目的索引作为参数并弹出该索引处的项目。
很酷的站长
2022/11/24
1.5K0
【说站】python列表删除项目的方法
删除所选项(附加搜索部分的jquery)
1.视图端(views)的配置为: <script> $(document).ready(function() { $("#info-grid").kendoGrid({ dataSource: { type: "json",
wfaceboss
2019/04/08
9560
python中删除列表中重复元素
在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。
全栈程序员站长
2022/09/07
4.1K0
一日一技:使用切片从列表中删除元素
列表的切片操作相信大家都已经非常熟悉了。例如有一个列表: [1,2,3,4,5,6,7,8,9,0]
青南
2019/05/14
3.6K0
Python - 删除列表中的重复字典
Python 是一个非常广泛使用的平台,用于 Web 开发、数据科学、机器学习以及自动化执行不同的过程。我们可以将数据存储在python中,以不同的数据类型,例如列表,字典,数据集。python字典中的数据和信息可以根据我们的选择进行编辑和更改
很酷的站长
2023/08/11
4491
Python - 删除列表中的重复字典
在DataGrid中选择,确认,删除多行复选框列表
在DataGrid中选择,确认,删除多行复选框列表 Selecting, Confirming & Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail & Yahoo) Introduction Although I don't have either a Hotmail or Yahoo email account, I do have friends that do, and I have o
阿新
2018/04/13
1.7K0
从DataFrame中删除列
在操作数据的时候,DataFrame对象中删除一个或多个列是常见的操作,并且实现方法较多,然而这中间有很多细节值得关注。
老齐
2021/03/29
7.2K0
CAD常用命令、快捷键和命令说明大全 「建议收藏」
  F1: 获取帮助   F2: 实现作图窗和文本窗口的切换   F3: 控制是否实现对象自动捕捉   F4: 数字化仪控制    F5: 等轴测平面切换   F6: 控制状态行上坐标的显示方式   F7: 栅格显示模式控制   F8: 正交模式控制   F9: 栅格捕捉模式控制   F10: 极轴模式控制   F11: 对象追踪模式控制   (用ALT+字母可快速选择命令,这种方法可快捷操作大多数软件。)
全栈程序员站长
2022/09/20
8.4K0
CAD常用命令、快捷键和命令说明大全 「建议收藏」
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
17.7K0
从lvm中删除硬盘、分区
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/remove_disk_from_lvm/
羽翰尘
2019/11/20
7K0
列表选择Spinner
1.只用XML配置来显示列表 在res\values中添加一个arrays.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources>
欢醉
2018/01/22
9650
列表选择Spinner
CAD操作大全
AutoCAD 是目前世界各国工程设计人员的首选设计软件,简便易学、精确无误是AutoCAD成功的两个重要原因。AutoCAD提供的命令有很多,绘图时最常用的命令只有其中的百分之二十。
用户7505898
2020/09/18
3.7K0
CAD操作大全
JavaScript | 数组的splice()方法,向/从数组添加/删除项目,并返回删除的项目
JavaScript代码: /* * splice() 方法向/从数组添加/删除项目,并返回删除的项目。 * 注释:splice() 方法会改变原始数组。 * 语法:array.splice(index, howmany, item1, ....., itemX) * index:必需。整数,指定在什么位置添加/删除项目,使用负值指定从数组末尾开始的位置。 * howmany:可选。要删除的项目数。如果设置为 0,则不会删除任何项目。 * item1, ...
倾盖
2022/08/16
3.3K0
JavaScript | 数组的splice()方法,向/从数组添加/删除项目,并返回删除的项目

相似问题

角度材质垫-列表-选项

12

模糊垫选择的角度材质

10

角度材质垫-选择重用材质-选项

11

角度材质垫-选择下拉宽度

50

角度材质垫选择:取消选择更改事件

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文