2014-06-23 42 views
0

所以我有一些選擇的元素和聚合物元素按鈕在聚合物元件不調用,點擊功能

... 

<tr> 
      <td> 
      <select name="taskTypes" selectedIndex="{{selectedTaskTypeFilter}}"> 
       <option template repeat="{{key in taskTypeIndexes}}" value="{{key.toString()}}"> 
       {{taskTypes[key]}} 
       </option> 
      </select> 
      </td> 
      <td> 
      <select name="taskStatusFilter" selectedIndex="{{selectedStatusFilter}}"> 
       <option template repeat="{{key in statusFilterIndexes}}" value="{{key.toString()}}"> 
        {{statusFilters[key]}} 
       </option> 
      </select> 
      </td> 
      <td> 
      <select name="targetLanguage" selectedIndex="{{selectedTargetFilter}}"> 
       <option template repeat="{{language in activeTargetLanguages}}" value="{{language.code}}"> 
       {{language.name}} 
       </option> 
      </select> 
      </td> 
     </tr> 
<button value="Filter" class="btn btn-primary" on-click="{{filterStream}}"> 
    <i class="icon-refresh icon-white"></i> {{localisation.getTranslation("index_filter_task_stream")}} 
</button> 

... 

(Inb4有人哀嘆使用表內聲明這樣一個按鈕,它本來不是我的代碼我有點想取代他們,但它不是最優先考慮的事情。)

這是filterStream()函數按鈕應該調用,但它似乎根本不會被調用,從print語句的輸出中可以看出沒有出現。

void filterStream() 
    { 
    print("Entered filterStream"); 
    filter = ""; 
    if (isFiltered) { 
     filteredTasks.clear(); 
     filteredTasks.addAll(filteredTasksBackup); 
    } 

    if (filteredTasksBackup.length == 0) { 
     UserDao.getUserTasks(userid, taskCount) 
     .then((List<Task> userTasks) { 
      filteredTasks = userTasks; 
      filteredTasksBackup = userTasks; 
      isFiltered = true; 
     }); 
    } 

    if (selectedTaskTypeFilter > 0) { 
     //Remove all tasks but those of the selected type 
     filteredTasks.removeWhere((task) => task.taskType != selectedTaskTypeFilter); 
    } 

    if (selectedStatusFilter > 0) { 
     //Remove all tasks but those with the selected status 
     //The + 2 is to adjust the values so that they match correctly; task status 3 and 4 are in progress and 
     //complete, respectively, but on the UI filter they are the 2nd and 3rd options (hence index 1 and 2). 
     filteredTasks.removeWhere((task) => task.taskStatus != selectedStatusFilter + 2); 
    } 
    goToFirstPage(); 
    } 

完整ClaimedTaskStream.dart文件可以發現here是否有幫助。另外,因爲它可能是相關的,我應該提到我正在運行由dart2js編譯的JS代碼。

回答

0

的方法需要有三個參數事件,細節和目標

filterStream(MouseEvent e, detail, Element target) { } 
+0

並不需要的參數。至少在以前的版本中。 – Robert

+0

我應該也提到過,我從代碼庫中現有的代碼中複製了這一點,在這裏點擊函數沒有像這樣的參數,並且這個函數可以工作。 –

+0

這對我來說是新的,幾個星期前,只有當方法具有這些參數時,這仍然是有效的,我還沒有聽到任何改變。我當然會儘快試用,但我幾天沒有電腦。 –