如何从angular2中的datalist获取属性值

时间:2017-11-01 09:24:32

标签: angular typescript

我的HTML:

 <input list="tasks" id="selected-task" [(ngModel)]=query (keyup)=filter() name="tasks" class="select-project">
 <datalist id="tasks" #tasksDataList >            
    <option *ngFor="let item of taskList"  (click)="select(item)" >{{item.title}}</option>

 </datalist>

在我的组件中:

select(item) {
this.query = item;   
this.taskList = [];
}

在datalist中我显示所有item.titles,当我选择一个时,我需要将item.id保存在变量中,但我无法从所选项目中访问id值。 我尝试过:

select(item:myClass) {
this.query = item.title;  
this.id = item.id;
this.taskList = [];
}

但是显示然后id未定义。

那么当用户从datalist中选择一个项目如何在变量中保存所选项目的id时,是否有任何建议?

1 个答案:

答案 0 :(得分:0)

经过多次尝试,我刚刚得出结论,角度和数据主义(HTML5)不能很好地协同工作。如果您只想选择字符串,那就没关系,但如果您想使用像我这样的对象,您就无法达到预期的效果。另一种方法是使用select和之后使用ul与列表项,它们从隐藏的选择中获取数据。所以基本上还有更多的工作,但这是唯一的方法:)