对与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
过来了也没有多看,没用的代码就直接删掉了,但是在发现问题是往往可能是你感觉没用
的哪些代码,所有在使用样式的时候大概看一下,这次没用到下次就可能用到,要多看,多总结,到在用的时候就会顺手许多。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。