首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在角2应用程序中通过切换复选框处理数组构建

在角2应用程序中通过切换复选框处理数组构建
EN

Stack Overflow用户
提问于 2017-09-25 18:33:40
回答 1查看 63关注 0票数 0

我试图提出一个简单的切换功能,其中一个数组是建立在选择发送到我的角度2应用程序中的复选框。我似乎还记得,通过设置一个与之相反的函数,或者诸如此类的东西,你可以在哪里处理切换。下面是添加和删除数组元素的两个函数:

代码语言:javascript
复制
private onItemSelected(item)
{
    if (item)
    {
        this.itemsArray.push(item);
        console.log(this.itemsArray);
        return this.itemsArray;
    }
}

private onItemRemoved(item)
{
    if (item)
    {
        this.itemsArray.splice(item);
        console.log(this.itemsArray);
        return this.itemsArray;
    }
}

然后在我看来我试着:

代码语言:javascript
复制
<md-checkbox (change)="onItemSelected('A') === onItemRemoved('A')">A</md-checkbox>
<md-checkbox (change)="onItemSelected('B') === onItemRemoved('B')">B</md-checkbox>
<md-checkbox (change)="onItemSelected('C') === onItemRemoved('C')">C</md-checkbox>

但在当前的实现中,这是不正确的。然而,我确实记得看到这样的东西,虽然我不记得具体的语法。我还考虑在条件检查中使用“选中”JavaScript属性。这会是一个更好的方式来实现这一点吗?或者,在根据复选框选择添加和删除项时,是否有更简单的方法来处理数组?

更新:在“我更亲近”的建议之后。有了这个实现,我可以为一个项切换或关闭,数组将正确地反映这一点。但是,对于多个项选择,它不起作用:

代码语言:javascript
复制
private isChecked: boolean = false;
private onItemSelected(discipline)
{
  this.isChecked = !this.isChecked;

    if (item && this.isChecked)
    {
        this.itemsArray.push(item);
        console.log(this.itemsArray);
    }
    else {
        if (item && !this.isChecked)
        {
            this.itemsArray.splice(item);
            console.log(this.itemsArray);
        }
        return this.itemsArray;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-25 18:47:09

我已经张贴了一个更简单的版本,而没有添加任何额外的属性。请试试下面的代码

代码语言:javascript
复制
private onItemSelected(item)
{
  const index: number = this.itemsArray.indexOf(item);
    if(index < 0){
         this.itemsArray.push(item);
         console.log(this.itemsArray);
         }
         else if(index != -1){
           this.itemsArray.splice(index,1);
           console.log(this.itemsArray);
         }      
   return this.itemsArray;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46411966

复制
相关文章

相似问题

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