历史代码分析5动态控制列表的列
目录
《历史代码分析》5、动态控制列表的列
本系列《历史代码分析》为工作中遇到具有代表性的代码。今天我们讲一下,动态展示列表的列,因为找不到代码了,所有本篇用图展示。
举个栗子
我们希望能够动态的控制列表的列,例如,英语老师只想知道自己学科的学生成绩,那可以把其它的成绩的列隐藏掉,如下:
上面的功能,我们应该如何实现,其实最简单的方式,就是记录每个老师她们要显示的列,保存到数据库中,如下
后端可以在每个老师登录时,获得到她们要显示的列,前端需要控制哪个列名显示,但是这种方法,需要前端判断,前端百分百不愿意做判断,
所以呢,当前是我们后端把所有数据都过滤好,组成合适的数据返回给前端,类似如下
[
{
"id": 1,
"name": "小明",
"age": 15,
"english": 56,
},
{
"id": 2,
"name": "小李",
"age": 14,
"english": 31,
},
{
"id": 3,
"name": "小华",
"age": 16,
"english": 20,
},
{
"id": 4,
"name": "小丽",
"age": 14,
"english": 0,
}
]
上面的操作考虑到前端,下面继续瞎说,
前面是把老师需要显示的列保存到数据库中,我们也可以把所有的列都保存到字段中,如果该列显示用1表示,不显示用0表示,保存到字段的内容用JSON格式,如下:
{
"id": 1,
"name": 1,
"age": 1,
"chinese": 0,
"english": 1
...
}
如果需要记录列的顺序,则需要用新的一张表,来记录每个老师设置的顺序,不吹了,基本上功能都是这样子,其实不管怎么样,前端都需要做判断,下次聊。