SweetAlert 弹出窗口显示时间过长

SweetAlert popup takes too time to show

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

也许您正在使用的数据表插件需要时间。还可以尝试从 html 正文中删除预定义的 classes,因为它将查找 class 并加载需要时间来加载的库。

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

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