SweetAlert弹出窗口需要时间来展示

问题描述 投票:-1回答:1

我使用sweetalert显示数据列表(大数据),然后允许用户从数据列表中进行选择。 sweetalert的HTML由后端生成,但是当我尝试打开此列表时,需要10-15秒的时间。 HTML已经由后端执行了,为什么要显示这花费这么多时间?

有没有办法减少这个时间?注意*我在HTML数据中使用数据表来显示数据。

swal({
        title: 'Assign an User',
        html: html_text,
        customClass: 'user-table-holder',
        confirmButtonText: 'Assign',
        showCancelButton: true,
        preConfirm: function () {
            return new Promise(function (resolve, reject) {
                var user_data = {
                    id: '',
                    name: ''
                };
                if ($('input[type=radio][name=assign-user]:checked').size() > 0) {
                    user_data.id = $('input[type=radio][name=assign-user]:checked').val();
                    user_data.name = $('.user-name[data-user-id="' + user_data.id + '"]').text();
                    resolve(user_data);
                } else {
                    reject('You need to select an user');
                }
            });
        }
    }).then(function (user_data) {
        $('input[name=user]').val(user_data.id);
        $('input[name=status]').val('Inactive');
        $('.status-text').text('User assigned (' + user_data.name + ')');
        user_assigned = true;

        swal({
            title: 'User assigned',
            text: 'The user has been assigned successfully',
            type: 'success',
            timer: 2000,
            showConfirmButton: false
        }).catch(swal.noop);
    }).catch(swal.noop);
javascript jquery sweetalert sweetalert2
1个回答
1
投票

也许你正在使用的数据表插件需要时间。还尝试从html主体中删除预定义的类,因为它将查找类并加载需要时间加载的库。

你使用django模板来渲染这个HTML吗?

如果是,则不应以对象格式发送数据。尝试使用values_list,它将数据转换为查询列表,然后它不会对每个请求进行数据库查询。

© www.soinside.com 2019 - 2024. All rights reserved.