Разбиение на страницы Select2 с локальными данными

Я использую Select2 v4.0.0 и имею список из более чем 7000 элементов. Когда пользователь нажимает кнопку выбора, для открытия списка требуется несколько секунд.

В качестве решения я попытался использовать разбиение на страницы с помощью ajax и отлично работает. См. ниже текущий код,

$($el).select2({
    ajax: {
        url: _url,
        type: 'POST',
        dataType: 'json',
        delay: 500,
        data: function(params) {
            return {
                term: params.term || '',
                page: params.page || 1
            }
        },
        processResults: function(data, params) {
            var page = params.page || 1;
            return {
                results: data.results,
                pagination: {
                    more:(page * 10) <= data.total_count
                }
            };
        }
    }
});

Ситуация здесь такова, что пользователь может добавить столько «Новых строк», и каждая строка имеет файл select2. Таким образом, на сервер отправляется большое количество запросов ajax (каждый раз, когда пользователь выполняет поиск, а также при выборе элемента, отправляется другой запрос ajax для получения некоторых других связанных данных), и сервер перестает отвечать, что приводит к ошибке,

сеть::ERR_EMPTY_RESPONSE

Поэтому я был вынужден прекратить использование AJAX.

Я искал решение, подобное этому: http://embed.plnkr.co/sUt9zi (я не могу заставить его работать, потому что он использует select2 v3.4.5).

Существуют ли какие-либо аналогичные решения, чтобы сделать результат выгруженным для данных, загруженных из локальной переменной? Или любой обходной путь, чтобы открыть список быстрее.

Любая помощь приветствуется


person Munawir    schedule 02.06.2019    source источник
comment
пример, который вы показали, не использует ajax, а фильтрует и фрагментирует локальный набор данных, возможно, вам также следует загрузить все записи один раз и разбить их на части для отображения, как в ссылке примера, иначе вы будете загружать одни и те же данные снова и снова, что не так уж много смысл   -  person john Smith    schedule 02.06.2019
comment
@johnSmith Я пытался, я могу заставить его работать, если я использую select2 v3.4.5, но не с v4.0.0   -  person Munawir    schedule 02.06.2019
comment
возможно, ответ о том, что вот рабочая версия для Select2 v4, может помочь вам с использованием пользовательского адаптера данных stackoverflow.com/questions/15041058/   -  person john Smith    schedule 02.06.2019
comment
@johnSmith Это не для v4, братан. Он использует более старую версию. Использование кода с v4 дает мне ошибку Uncaught: нет ошибки select2/compat/query в журнале консоли   -  person Munawir    schedule 02.06.2019
comment
я сослался на ответ, в котором говорится, что вот рабочая версия для Select2 v4, там нет опции запроса   -  person john Smith    schedule 02.06.2019
comment
У меня такая же проблема. В моем вопросе (stackoverflow.com/questions/56446920/) есть пример кода.   -  person robor    schedule 04.06.2019