求大神解答,数据表中的按钮,需要在页面加载时根据数据的不同进行改变

提问 已结 13 280
时臣
时臣 VIP4 2019-11-6
悬赏:50飞吻
版本:layui 2.5.5 浏览器:谷歌
求大神解答,数据表中的按钮,需要在页面加载时根据数据的不同进行改变,
如图
具体要实现的效果是:
当前行数据为维护中时,按钮显示‘取消维护’,当前行数据显示正常时,按钮显示‘维护’;
//注意不是点击后动态变更
//注意不是点击后动态变更
//注意不是点击后动态变更

或者有没有能在当前行的templet中获取其他行中数据的方法,
求!!!!

追加一个图片



最终解决



解决方案为



小白需要注意,修改 lay-event= " "中的值,多写一条监听会比较省事!


感谢各位大佬帮我分忧!
回帖
  • MilkCpt
    2019-11-6
    @AI_smart 后台传过来的所有值都能 . 除非没有
    0 回复
  • MilkCpt
    2019-11-6
    方法1: <script id="switchTpl" type="text/html">
    {{# if(d.isBest == 1){}}
    <input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="取消神评|给与神评" lay-filter="sexDemo" checked=true>
    {{#}else{}}
    <input type="checkbox" name="sex" value="{{d.id}}" lay-skin="switch" lay-text="取消神评|给与神评" lay-filter="sexDemo">
    {{#}}}
    </script>
    方法二:templet:function(d){
    //这里可以随意的 d. 你的所有参数名
    }}
    0 回复
  • layui有个模板引擎,可以通过这个实现https://www.layui.com/doc/modules/laytpl.html
    0 回复

  • 使用带判断的模板不知道是否满足
    0 回复
  • 具体思路是写个模板引擎,判断数据是否正常,正常则拼接维护按钮,维护中就拼接取消维护,然后在table渲染的toolbar中引用这个模板就行了
    0 回复
  • @woshinicheng
    表格内的引用方式
    0 回复
  • Andsir
    2019-11-6
    我觉得我应该马克一下咯
    0 回复
  • IDyun
    2019-11-6
    <script type="text/html" id="barDemo">
    {{#/*测试 */ d.state = '维护中';}}
    {{# var dicOp = {'维护中':'取消维护'};}}
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">{{dicOp[d.state]}}</a>

    </script>
    d 是当前行数据 d.state 是你的字段。
    0 回复
  • @MilkCpt @随风而动170 @IDyun @woshinicheng 当前工具行模板引擎中的d,似乎取不到数据行中的d.state中的值
    0 回复
  • IDyun
    2019-11-6
    你可以在模板里加这一段,打开控制台就知道有没有数据了。
    {{#console.log(d)}}
    0 回复