问题情境:
layui中将数据库数据通过layui table渲染到前端表格,非常简单,但是如果数据库存储的信息不能被直接展示,比如0是女生,1是男生,可以使用模板来对数据进行处理。layui table的自定义模板功能能非常方便地解决这个问题;
方法一:函数转义
所谓函数转义,就是在表格cols的对应列中直接写一段函数:
Table.render({
elem: '',
url: '',
cols : [
{ field: 'sex', title: '性别' , templet: function (d) {
if(d.sex == 0){
res = "女生"
}else{
res = "男生"
}
return res;
}
}]
})
这样的写法,简单直接,缺点是复用性差,有可能导致代码冗余。
方法二:绑定模板选择器
<script type="text/html" id="typeSex">
{{# if(d.sex == 0){ }}
<p>女生</p>
{{# } else { }}
<p>男生</p>
{{# } }}
</script>
Table.render({
elem: '',
url: '',
cols : [
{ field: 'sex', title: '性别' , templet: "#typeSex"
]
})
方法三:直接赋值模版字符
注意:这里一定要用div标签包裹,否则无法读取到模板
Table.render({
elem: '',
url: '',
cols : [
{ field: 'sex', title: '性别' , templet: '<div><a href="" class="layui-table-link">{{d.title}}</a></div>']
})