基本数据表格hg.table.datatable属性说明

基本数据表格使用实例:

var tableCols = []; //cols表头参数请查看官方文档:https://www.layui.com/doc/modules/table.html#cols
var toolbar = [{
    text: '添加',
    layuiicon: '',
    handler: function () {
      hg.open('添加用户', './DataGrid-add.html', 600, 400);
    }
  },
  {
    text: '修改',
    layuiicon: '',
    handler: function (obj, row) {
      if (row) {
        hg.open('修改用户' + row.data.username, './DataGrid-add.html', 600, 400);
      } else {
        hg.msg('请选中一行数据,再操作!');
      }
    }
  }, {
    text: '删除',
    layuiicon: '',
    handler: function (obj, row) {
      if (row) {
        hg.confirm("删除当前选中的用户,确定要删除吗?", function () {
          row.del(); //只删本地数据
          hg.msg('删除成功!');
          //obj.reload();
        });
      } else {
        hg.msg('请选中一行数据,再操作!');
      }
    }
  }
];
//初始化
var table = hg.table.datatable('test', '用户管理', 'data1.json', {}, tableCols, toolbar, true, 'full-190', ['filter', 'print', 'exports']);

//导出所有数据
var table = hg.table.datatable('test', '用户管理', 'data1.json', {}, tableCols, toolbar, true, 'full-190', ['filter','printall','exportsall']);

//获取选中行
var row = hg.table.datatable('test', 'getSelected');
var row = table.getSelected();

//重载表格
hg.table.datatable('test', 'reload');
或 table.reload(where); //where为url附加参数

//重置表格大小
hg.table.datatable('test', 'resize');
或 table.resize();

//打印任意数据
hg.table.printall(tableCols, data.rows);
hg.table.printall(layid); //打印当页数据

//导出任意数据
hg.table.exportfile(layid, data.rows);
                
树形组件hg.tree.datatree属性说明

树形组件使用实例:

//初始化
var tree;
hg.request('tree.json', function (data) {
  if (data || data.count > 0) {
    tree = hg.tree.datatree('treeid', data.data, true);
    tree.onspread = function() {
      var obj = this; 
      //模拟post后台数据,延迟0.5秒
      setTimeout(() => {
        hg.request('tree.json',function(data) {
          if (data || data.count > 0){
            obj.lazytree(data.data);
          }
        });
      }, 500);
    }
    tree.onclick = function() {
      var obj = this; 
      console.log(obj.data); //得到当前点击的节点数据
      console.log(obj.state); //得到当前节点的展开状态:open、close、normal
      console.log(obj.elem); //得到当前节点元素
      console.log(obj.data.children); //当前节点下是否有子节点
    }
    tree.oncheck = function() {
      var obj = this; 
      console.log(obj.data); //得到当前点击的节点数据
      console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
      console.log(obj.elem); //得到当前节点元素
    }
  }
});
//获得选中的节点 
function getChecked(){
  var checkData = tree.getChecked();
  hg.msg(JSON.stringify(checkData));
}
//设置节点勾选
function setChecked(){
  tree.setChecked(['hg-100101101','hg-100101102']);
}
//实例重载
function reload(){
  tree.reload();
  hg.msg('重载成功!')
}
                
基本日期框hg.datetime属性说明

基本日期框使用实例:

<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="start">
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="end">
//基本日期控件
hg.datetime('#start', '#end', {
    type: 'datetime',
    value: hg.getdate('datetime', -30),
    value2: hg.getdate('datetime', '23:59:59'),
    min: hg.getdate('date', -365),
    max: hg.getdate(),
});
                
组合日期框hg.datetime2属性说明

组合日期框使用实例:

<input class="layui-input" autocomplete="off" placeholder="时间段" name="time" id="time">
//组合日期控件
hg.datetime2('#time','datetime',hg.getdate('date', -30),hg.getdate());
                
获取日期时间hg.getdate属性说明

获取日期时间使用实例:

//获取过去30天前日期
hg.getdate('date', -30);
//获取当前日期
hg.getdate();
//获取当前时间
hg.getdate('datetime');
//获取当天结束时间
hg.getdate('datetime', '23:59:59');
                
网络请求hg.request属性说明

网络请求使用实例:

//异步获取后台接口数据
hg.request('api/userinfo',{"id":"value"},'POST', function (data) {
  if (data) {
    //返回数据
  }
});
                
监听Tab切换事件hg.ontab属性说明

监听Tab切换事件使用实例:

//监听Tab切换事件
hg.ontab('tab-card',function(){
  var id = this.getAttribute('lay-id');
  if (id === 'card1') {
    //触发tab1
  }
  if (id === 'card2') {
    //触发tab2
  }
});
                
监听表单提交事件hg.form.onsubmit属性说明

监听表单提交事件使用实例:

//监听表单提交事件
hg.form.onsubmit('sreach', function (data) {
  var start = data.start;
  var end = data.end;
  if (start && end) {
      if (start > end) {
          hg.msg("时间范围错误,请重新选择!");
          return false;
      }
  } else if (start || end) {
      hg.msg("时间范围错误,请重新选择!");
      return false;
  }
  hg.msg(JSON.stringify(data));
  table && table.reload();
});
                
监听switch操作事件hg.form.onswitch属性说明

监听switch操作事件使用实例:

//监听switch操作事件
hg.form.onswitch('doflag',function(data){
  hg.msg(data.elem.name+'开关checked:'+(data.elem.checked===true?'开启':'禁用'));
  console.log(data.elem.checked);
  console.log(data.elem.name);
  console.log(data.elem.value);
  console.log(data.othis);
});
                
表单自定义验证规则hg.form.verify属性说明

表单自定义验证规则使用实例:

//表单自定义验证规则
hg.form.verify({
  title: function(value){
    if(value.length < 5){
      return '标题至少得5个字符啊';
    }
  }
  ,pass: [/(.+){6,12}$/, '密码必须6到12位']
  ,content: function(value){
    layedit.sync(editIndex);
  }
});
                
打开弹出层hg.open属性说明

打开弹出层使用实例:

//弹出最大化
hg.open('最大化','http://www.baidu.com','','',true);
//弹出自动宽高
hg.open('弹出自动宽高','http://www.baidu.com');
//弹出指定宽高
hg.open('弹出指定宽高','http://www.baidu.com',500,300);
                
添加tabs页hg.add_tab属性说明

添加tabs页使用实例:

//添加tabs页
hg.add_tab('在tab打开','member-list.html');
//添加tabs页并刷新页面
hg.add_tab('在tab打开刷新','member-del.html',true);
                
关闭弹出层hg.close属性说明

关闭弹出层使用实例:

//关闭弹出层
hg.close();
                
刷新父窗口hg.base_reload属性说明

刷新父窗口使用实例:

//刷新父窗口
hg.base_reload();
                
请求进度条hg.NProgress属性说明

请求进度条使用实例:

//请求进度条,id为iframe中tab-id
hg.NProgress(id);
                
弹出提示框hg.msg属性说明

弹出提示框使用实例:

//弹出提示框
hg.msg('添加成功!');
                
弹出半透明提示层hg.msghide属性说明

弹出半透明提示层使用实例:

//弹出半透明提示层
hg.msghide('上传成功!');
                
弹出询问框hg.confirm属性说明

弹出询问框使用实例:

//弹出询问框
hg.confirm("删除当前选中的用户,确定要删除吗?", function () {
  hg.msg('删除成功!');
});
                
弹出加载层hg.load属性说明

弹出加载层使用实例:

//弹出加载层
var a = hg.load(function(){
  var that = this;
  setTimeout(function(){
      //that.close(); //关闭加载层
      a.close();
      hg.msghide('清除服务器缓存成功.');
  },2000);
});