前臺Ng-Alain

對與Ng-Alain這個前段框架,用了也有一短期了,對於框架而言確實時很強大,很好,但對於咱們而言文檔少,就步履維艱,邊研究編寫,時不時的就在裏爬半天,還不必定爬出來。git

問題描述

clipboard.png

點擊多選框時,選擇是正確的,可是點擊表格的其餘地方值就變成了null,感到很奇怪,發現官方的就正常,不會出現我這種狀況。github

想法

  1. 首先想到的是去看文檔,可是很遺憾,沒有找到文檔
  2. 還好有github能夠看到示例代碼,比較哪裏與官方的不同。

解決

發現官方上的 (change)事件是這樣寫的:框架

stChange(e: STChange) {
    switch (e.type) {
      case 'checkbox':
        this.selectedRows = e.checkbox;
        this.totalCallNo = this.selectedRows.reduce((total, cv) => total + cv.callNo, 0);
        this.cdr.detectChanges();
        break;
      case 'filter':
        this.getData();
        break;
    }
  }
思考:爲何要這樣寫,這樣寫的緣由是什麼?

在控制檯打印了一下e,發現原來鼠標點擊checkbox和點擊表格還有在表格中雙擊所觸發的事件不一樣:this

clipboard.png

修改後:spa

public selectHost(e: STChange) {
        switch (e.type) {
            // 若是是多選框事件,選中主機
            case 'checkbox':
                this.selectedHosts = e.checkbox;
        }
    }

完美,沒有問題!!!code

clipboard.png

總結

在須要這個樣式的時候就Ctrl+CCtrl+V過來了也沒有多看,沒用的代碼就直接刪掉了,可是在發現問題是每每多是你感受沒用的哪些代碼,全部在使用樣式的時候大概看一下,此次沒用到下次就可能用到,要多看,多總結,到在用的時候就會順手許多。事件

相關文章
相關標籤/搜索