如何在数组上按项目后清除输入字段?

时间:2016-05-23 05:48:31

标签: javascript angularjs angular ionic2 angular2-routing

我做了一个角度2的简单例子。我在数组中添加了项目。当用户键入任何内容并按下按钮时,它将被添加到数组中并显示在列表中。

我面临两个问题

  • 1)如何在插入数组后清除输入字段?
  • 2)棱角2的工作原理如何?如在文件Angular 2中删除手表.So 当项目添加到数组.how模板显示更新列表.how?

    是否正在观看列表模型?

这是我的plunker code

<ion-navbar *navbar>
  <ion-title>
    Ionic 2
  </ion-title>
</ion-navbar>

<ion-content class="has-header">
 <ion-list style="border:2px solid grey;height:500px">
  <ion-item *ngFor="#item of Todo">
{{item.name}}
  </ion-item>
</ion-list>
<label class="item item-input">
  <span class="input-label" >Add Todo</span>
  <input type="text" #todo placeholder="Add todo" >
</label>
</ion-content>

<ion-footer-bar (click)="addItem(todo.value)">

  <h1 class="title" style='color:red'>Add Todo!</h1>

</ion-footer-bar>

2 个答案:

答案 0 :(得分:6)

您可以对click事件执行以下操作,而不是清除函数中的值: -

<ion-footer-bar (click)="addItem(todo.value);todo.value = ''">

  <h1 class="title" style='color:red'>Add Todo!</h1>

</ion-footer-bar>

Working Plunker

答案 1 :(得分:3)

您可以通过执行以下操作清除输入字段。

<强> Home.html中

以前的代码

<ion-footer-bar (click)="addItem(todo.value)">

  <h1 class="title" style='color:red'>Add Todo!</h1>

</ion-footer-bar>

更改了代码

<ion-footer-bar (click)="addItem(todo)">

  <h1 class="title" style='color:red'>Add Todo!</h1>

</ion-footer-bar>

修改 home.ts 中的addItem函数,如下所示。

addItem(v){
      this.Todo.push({name:v.value})
      v.value='';
    }

希望这能为您解决所面临的问题提供解决方案。还有很多其他方法。既然你从id得到了价值,我就已经给出了解决方案。

  

更新下面的plunker代码

http://plnkr.co/edit/oCxrgxNlCkjVnTrhZGQA?p=preview

回答删除问题。

而不是

deleteTodo(obj){
      alert('----');
      var index =  this.Todo.indexOf(obj);
  this.Todo.splice(index, 1); 
    }

按照这个

    deleteTodo(name){
      var index =  this.Todo.indexOf(name);
  this.Todo.splice(index, 1); 
    }

希望这会对你有所帮助。