SweetAlert弹出窗口显示时间太长

时间:2019-02-22 08:57:08

标签: javascript jquery sweetalert sweetalert2

我正在使用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);

1 个答案:

答案 0 :(得分:1)

也许您正在使用的数据表插件花费时间。另外,请尝试从html主体中删除预定义的类,因为它会查找该类并加载该库,这将花费一些时间来加载。

您是否正在使用django模板呈现此html?

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