layui项目知识点总结

1、input单选框——获取选中值和设置选中值

需求:修改数据段时候,需要先去取到用户类型,然后让单选框对应的值选中。

原生js获取选中值 & 设置选中值

//获取
if(document.getElementById("reserve_yes").checked){
    reserve=yes;
}
else if(document.getElementById("reserve_no").checked){
    reserve=no;
}
//选中
document.getElementById('radio_yes']).checked=true;

jQuery获取选中值 & 设置选中值

//获取
$("input[type='radio']:checked").val();
//选中
$('#radio_yes']).attr("checked",true);

项目代码实现如下:

const base_url = "http://127.0.0.1:3000";
    var userid = location.search.split('=')[1];
    $.ajax({
        url: base_url + "/users/" + userid,
        type: "get",
        success: function (res) {
            $("input[name='barcode']").val(res.barcode);
            $("input[name='name']").val(res.name);
            if (res.memberType == 'Staff') {
                $("input[value='Staff']").attr("checked", true);
            } else {
                $("input[value='Student']").attr("checked", true);
            }
        }
    })

2、layUI中table表格的初始数据渲染以及表格分页功能

 初始数据渲染

 table.render({
            elem: '#userData',
            //url: base_url + "/users",
            data: data,
            cols: [
                [{
                        field: 'id',
                        title: 'userId',
                        width: 120
                    }, {
                        field: 'barcode',
                        title: 'Barcode',
                        width: 120
                    },
                    {
                        field: 'name',
                        title: 'Name',
                        width: 150
                    },
                    {
                        field: 'memberType',
                        title: 'member Type',
                        width: 150
                    },
                    {
                        field: 'createdAt',
                        title: 'craete Time',
                        width: 10
                    },
                    {
                        field: 'updatedAt',
                        title: 'upadate Time',
                        width: 100
                    },
                    {
                        fixed: 'right',
                        title: 'operation',
                        align: 'center',
                        toolbar: '#barDemo'
                    }
                ]
            ],
            height: 400,
            limits: [6],
            page: {
                count: 100,
                limit: 8,
                layout: ['page']
            }
        });

使用了data给表格传输数据。url默认的请求方式为get,返回的数据格式有时候和规定的不一致,所以传data,为一个数组对象。

如果要开启分页,则字段page:true。会有特定的分页样式。如果需要自己定义分页样式,则给page的值写入对象,对象的属性可以count,limit,layout自己规定值。

3、联合数据表查询需要的数据

需求:提供了图书馆所有的图书接口以及所有的借出去的图书接口,现在需要展示在馆的图书

解决:两个接口联合查询

$.ajax({
            url: base_url + "/books",
            type: "get",
            success: function (res) {
                $.ajax({
                    url: base_url + "/loans",
                    type: "get",
                    success: function (books) {
                        for (var i = 0; i < res.length; i++) {
                            var isExist = false;
                            for (var j = 0; j < books.length; j++) {
                                if (res[i].id == books[j].BookId) {
                                    isExist = true;
                                    break
                                }
                            }
                            if (!isExist) {
                                result.push(res[i]);
                            }
                        }
                    }
                })
            }
        })

比较图书 id一致,则表示书籍已经借出,并且退出本次循环,如果loans接口返回的数据循环查询结束isExist都没有置为true。则给result里面压入此条数据。

4、ajax请求的异步问题

需求:页面一进来需要渲染表格数据,表格传入数据data,在ajax请求数据回来给data赋值,但是table报错说数据格式错误。其实是没有数据。因为请求是异步的,表格渲染的时候data还没有值。

解决:给Ajax请求加入字段

async:false;

则可以保证数据请求回来再渲染表格

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值