Javascript Select2 id不能是对象吗?
使用select2,每个列表项都有两个必需参数:“id”和“文本”。 如果您的id和文本都是字符串类型,则一切正常。然而,当我试图将id转换成一个对象时,会出现错误。在控制台中检查,我可以看到id=[“[object]” 我用于生成select2列表的代码:Javascript Select2 id不能是对象吗?,javascript,jquery-select2,Javascript,Jquery Select2,使用select2,每个列表项都有两个必需参数:“id”和“文本”。 如果您的id和文本都是字符串类型,则一切正常。然而,当我试图将id转换成一个对象时,会出现错误。在控制台中检查,我可以看到id=[“[object]” 我用于生成select2列表的代码: var list = [ "apple", "banana", "orange"] var list = _.map(list, function(each){ return { id: { myName: each, otherDat
var list = [ "apple", "banana", "orange"]
var list = _.map(list, function(each){
return { id: { myName: each, otherData: 1 }, text: each }
});
$(".js-example-basic-single").select2({
data: list
});
我在文档的任何地方都看不到“id”是否只能是字符串而不是对象
“id”是否可能是一个对象?如果是这样,有什么特殊语法吗?我不知道jquery-select2,但只要看看示例代码,您就需要这样做:
return [{id: 0, myName: each, otherData: 1}, {id: 1, text: each}];
ID通常是字符串,有时是数字,因为这些类型很容易比较。我个人不知道select2,但我认为它使用id作为dom引用,所以id必须是字符串 试试这样:
var list = ['banana', 'apple', 'orange']
.map((fruit, index) => {type: fruit, id: (Number(index || 0) + 1).toString()})
//.sort() //sort fruits as you want, etc...
;
我从Select2的维护人员那里得到确认,它需要是最新版本的字符串 由于id和文本必须是字符串,添加变量的唯一方法是使对象为: {id:'string',text:'string',userDefinedKey:'string'}