我们在使用Datagrid列属性formatter时,有些场景下,在formatter函数内部,我们需要知道当前列的一些配置信息,比如说 title,filed 等信息,而formatter函数入参只有行索引,值,行数据,那么怎么获取 title,filed 等信息呢?
懒得说的一个问题,但是时不时会有朋友问起,问起这个问题的朋友大多都是javascript底子太薄,其实formatter函数内部的this在运行时默认就是指向当前列的配置对象,且组件内部并没有改变this指向,所以通过this就可以拿到所有信息了。
12345678910111213141516 | $('#dg').datagrid({ columns: [[{ field: 'userId', title: 'User', width: 80, formatter: function(value, row, index) { console.log(this.title); //User console.log(this.field); //userId if (row.user) { return row.user.name; } else { return value; } } }]]}); |
类似的列属性还有styler和sorter。本文简单记录这个问题,希望以后不用再费口舌。
另外,一年又过去了,个人来讲,算是积累不小的一年。在这里预祝大家新年快乐,心想事成。
联系客服