岁月小偷

岁月小偷 VIP3

认证信息:2018年度 layui “社区之光”

21300飞吻 2017-9-5 加入 来自广州

(这个人懒得留下签名)

岁月小偷 最近的提问

岁月小偷 最近的回答

  • 5小时前求大佬 解决 layui table开启编辑功能后,对单元格的数据校验问题 中回答:

    下面有种思路可以试一下

    效果

    代码:
    table.on('edit(test)', function (obj) {
    // console.log(obj.value); //得到修改后的值
    // console.log(obj.field); //当前编辑的字段名
    // console.log(obj.data); //所在行的所有相关数据

    var value = obj.value;
    var field = obj.field;
    var inputElem = $(this);
    var tdElem = inputElem.closest('td');
    var valueOld = inputElem.prev().text();
    var data = {};
    var errMsg = ''; // 错误信息
    if (field === 'score') {
    // 评分的条件
    if (value < 0) {
    errMsg = '评分不能小于0';
    }
    }

    if (errMsg) {
    // 如果不满足的时候
    data[field] = valueOld;
    layer.msg(errMsg, {time: 1000, anim: 6, shade: 0.01}, function () {
    inputElem.blur();
    obj.update(data);
    tdElem.click();
    });
    }
    });
  • 6小时前table表格复选框选中最后一下时无数据返回中回答:

  • 6小时前求大佬解决 layui动态添加可编辑的表格中回答:

    @痛过 上面那个就是详细的代码了额,你根据业务逻辑写里面if判断的那块,比如不同的字段有不同的要求等,如果判断到不满足要求的,就把以前的值拿到然后再把值update回去,这样子就把值回滚到修改以前的,如果还要让它默认选中它让它继续输入的话再执行update后面再click一下这个td就可以了。我再整理一下给你后面发的那个帖子回复一下吧。
  • 6小时前求大佬解决 layui动态添加可编辑的表格中回答:

    @痛过 目前因为点击编辑弹出的内容啥的都是table内部的逻辑,也没有放出什么可以设置的,可以试试下面在edit监听里面判断如果不满足要求把值给改回去。
  • 6小时前像这样点击按钮切换时怎么清空表格全部数据然后再重新加载中回答:

    点击了之后直接执行
    table.reload(tableId, {
    where: 条件,
    page: {curr: 1}
    })
  • 6小时前table表格复选框选中最后一下时无数据返回中回答:

    你说的问题前面一个是bug,后面一个type是one这个没问题,因为你点击的就是单条,这个类型区分的就是你点击的是单条的还是点击了一个全选框,不是说点击了之后是否全选啥的;第一个问题形成的原因还有处理的方案可以看看我以前的一个帖子: https://fly.layui.com/jie/33536/ bug部分的第二条。
  • 8小时前 重大BUG:laytable 监听复选事件,返回的obj.data为空对象中回答:

    这个问题下个版本应该会修复吧,比较明显的一个问题,也比较会影响使用,特别是对2.3.0以前也是用这个监听的话,以前是没有这个逻辑错误的,后面版本修改了一些逻辑处理了,具体原因还有暂时自行修复的方法可以看看我以前的一个帖子: https://fly.layui.com/jie/33536/ 中关于bug的第二条。当然这个是个人的理解和看法,官方会如何修复这个bug这个不确定。
  • 8小时前谈谈 table 的 sort中回答:

    @帅不过十秒 两次是正常的,实际这两次都是不同的地方调用的,而且作用功能也不一样,
    第一次是点击可排序的那个表头,就会进去这个sort,这个时候的formEvent是true,也就是说是手动触发的需要后面去执行sort监听里面的逻辑的,这个时候如果监听到是后台排序,实际上这一步是不需要对表格进行重新渲染啥的操作的,直接走监听里面的内容就可以了。

    第二次是因为在sort监听里面reload了这个表格,在渲染表格内容的时候如果config里面的initSort有值,会再次进去这个sort对表头的箭头进行样式的调整,还有其他的操作,包括以前有问题的逻辑就是对后台返回的数据又用layui.sort排序了一下,这个第二次进入才是导致排序中跟后台返回的数据顺序不一致的主要原因,但是不能因为这个异常就不让它第二次进来,因为它做的工作是有必要的,包括上面说了的表头的样式,还有数据的渲染,然后这时候的formEvent是没有的,所以这次不会再进入sort监听。

    所以进入两次sort是正常的而且两次实际上不会重复的,他们的触发情况还有作用都是不一样的。
  • 12小时前table 如何更优雅的 reload中回答:

    @捕刺客打刺客 sql报错还能走success这个有点神奇额,我这边不管怎么试都没复现出来你的问题额[衰]
  • 12小时前时间范围 如果 初始化为当天中回答:

    @junbao 不客气[微笑]
  • 12小时前时间范围 如果 初始化为当天中回答:

  • 12小时前时间范围 如果 初始化为当天中回答:

    value: util.toDateString(null, 'yyyy-MM-dd ~ yyyy-MM-dd'),
  • 12小时前laydate 时间范围初始赋值中回答:

    render的时候new Date()然后format一下变成自己想要的字符串就可以了。
  • 13小时前谈谈 table 的 sort中回答:

    @爱死寂寞人 谢谢夸奖[微笑]
  • 13小时前表格内容换行显示及固定栏高度异常的解决方案中回答:

    @花季岁月 按照怎么做的呢?有没有代码瞧瞧?你说的是按照楼主的方式还是我后面描述的方式?