我有一个Select2字段,允许我的用户通过ajax加载选择一些实体。由于源是可变的,因此在创建时,我的select2字段除了占位符之外没有选项。
在更新时,我想在我的内部预加载现有数据,并允许我的用户根据需要更改值(通过ajax),就像普通的Symfony ChoiceType一样。
我在一些旧主题中发现了方法“InitSelection”,但它在Select2 4.x版本上已弃用,我无法理解remplacement方法的工作原理。
这是我目前的代码。 defaultData是一个数组{id:id,text:text}:
function getSelect2Options(route, defaultData) {
try {
route = Routing.generate(route);
} catch(error) {
return {};
}
return {
closeOnSelect: false,
minimumInputLength: 1,
ajax: {
url: route,
dataType: 'json',
delay: 500,
data: function (params) {
return {
query: params.term,
page: params.page
};
},
processResults: function (data) {
return {
results: data
};
}
}
};
}
谢谢大家的帮助和时间。