Select2 选项 templateResult 未被调用

xyl*_*lar 3 javascript jquery jquery-select2

我想使用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>';
        },
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,templateResult似乎没有被调用,因为控制台没有输出任何内容。即使我将返回值更改为 'TEST',仍然显示默认结果。无论我是否包含 templateResult ,代码的工作方式都是一样的。

xyl*_*lar 9

我在 ajax 范围内有 templateResult 。修复如下:

$(".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>';
    }
});
Run Code Online (Sandbox Code Playgroud)