2015-05-22 47 views
0

我对飞镖很陌生,所以不要评价我。 :))添加删除项目按钮 - 待办事项 - 飞镖

我刚开始在Dart写一个简单的ToDo应用程序。我想添加一个按钮到项目,所以我可以从列表中删除它。我成功地添加了按钮,但没有得到click事件的工作。

我知道为什么代码不能正常工作,但不知道最好的解决方案是解决这个问题。

一些改进将会很棒。

在此先感谢 罗恩

my little sexy dartpad

回答

2

您需要注册onClick听去除每个按钮当前项目。这是你的代码的工作版本。

import 'dart:html'; 

InputElement toDoInput; 
UListElement toDoList; 

void main() { 
    toDoInput = querySelector('#to-do-input'); 
    toDoList = querySelector('#to-do-list'); 

    toDoInput.onChange.listen(addToDoItem); 
} 

// Add item to list 
void addToDoItem(Event e) { 
    final toDoItem = new LIElement(); 
    toDoItem.text = toDoInput.value; 

    final deleteItemButton = new ButtonElement() 
    ..text = 'Delete' 
    ..onClick.listen((_) => toDoItem.remove()); 

    toDoItem.children.add(deleteItemButton); 
    toDoList.children.add(toDoItem); 

    toDoInput.value = ''; 
} 
+0

谢谢!这对我有意义! :)你可以告诉我'listen((_)=>'中下划线的含义吗? – Ron

+1

这是函数参数的名字,通常当你不需要使用参数时使用'_'你想提高你的代码的可读性 –

+0

啊,所以没什么特别的意思,这样想:)感谢你的帮助Alex :) – Ron