我想使用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
似乎没有被调用,因为没有任何内容输出到控制台。即使将返回值更改为“ TEST”,仍会显示默认结果。无论是否包含templateResult,代码的工作原理都是相同的。
答案 0 :(得分:0)
我在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>';
}
});
答案 1 :(得分:0)
检查您的processResults - results: data.items
,我切换到data.results