Опция select2 templateResult не вызывается - PullRequest
0 голосов
/ 27 февраля 2019

Я бы хотел использовать опцию templateResult для форматирования результатов с использованием select2 v4.У меня есть следующий код:

$(".search").select2({
    minimumInputLength: 3,
    ajax: {
        url: url,
        dataType: 'json',
        delay: 250,
        processResults: function (data) {
            return {
                results: data.items
            };
        },
        templateResult: function (data) {
            console.log('templateResult');
            return '<span><img src="//example.com/img.png" /> ' + data.text + '</span>';
        },
    }
});

Однако, templateResult не вызывается, поскольку на консоль ничего не выводится.Даже если я изменю возврат на «ТЕСТ», результаты по умолчанию все равно будут отображаться.Код работает одинаково, независимо от того, включаю ли я templateResult.

1 Ответ

0 голосов
/ 27 февраля 2019

У меня был templateResult внутри области ajax.Исправление ниже:

$(".search").select2({
    minimumInputLength: 3,
    ajax: {
        url: url,
        dataType: 'json',
        delay: 250,
        processResults: function (data) {
            return {
                results: data.items
            };
        },
    },
    templateResult: function (data) {
        console.log('templateResult');
        return '<span><img src="//example.com/img.png" /> ' + data.text + '</span>';
    }
});
...