前台Ng-Alain

83次阅读

共计 760 个字符,预计需要花费 2 分钟才能阅读完成。

对与 Ng-Alain 这个前段框架,用了也有一短时间了,对于框架而言确实时很强大,很好,但对于我们而言文档少,就寸步难行,边研究编写,时不时的就在坑里爬半天,还不一定爬出来。
问题描述

点击多选框时,选择是正确的,但是点击表格的其他地方值就变成了 null,感到很奇怪,发现官方的就正常,不会出现我这种情况。
想法

首先想到的是去看文档,但是很遗憾,没有找到文档
还好有 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 和点击表格还有在表格中双击所触发的事件不同:

修改后:
public selectHost(e: STChange) {
switch (e.type) {
// 如果是多选框事件,选中主机
case ‘checkbox’:
this.selectedHosts = e.checkbox;
}
}
完美,没有问题!!!

总结
在需要这个样式的时候就 Ctrl+C、Ctrl+ V 过来了也没有多看,没用的代码就直接删掉了,但是在发现问题是往往可能是你感觉没用的哪些代码,所有在使用样式的时候大概看一下,这次没用到下次就可能用到,要多看,多总结,到在用的时候就会顺手许多。

正文完
 0