Qml 如何正确地将数据加载到具有ArrayDataModel的选择器中?(黑莓操作系统10级联)

Qml 如何正确地将数据加载到具有ArrayDataModel的选择器中?(黑莓操作系统10级联),qml,blackberry-10,blackberry-cascades,Qml,Blackberry 10,Blackberry Cascades,我正在使用Blackberry 10 Cascades,并尝试使用ArrayDataModel将数据加载到选择器中。我在网上读到的所有文档thusfar都给了我一些例子来使用XMLDataSource,但是由于我的数据是JSON,并且来自一个实时提要,我宁愿不必承受将其序列化为XML以加载到XMLDataSource(从我粗略的调查来看,这似乎是相当喜怒无常的) 我有一些代码提供了部分功能(正确的行数和列数),但是当尝试访问pickerItemData属性时,结果总是未定义的 下面的代码显示了部

我正在使用Blackberry 10 Cascades,并尝试使用
ArrayDataModel
将数据加载到选择器中。我在网上读到的所有文档thusfar都给了我一些例子来使用
XMLDataSource
,但是由于我的数据是JSON,并且来自一个实时提要,我宁愿不必承受将其序列化为XML以加载到
XMLDataSource
(从我粗略的调查来看,这似乎是相当喜怒无常的)

我有一些代码提供了部分功能(正确的行数和列数),但是当尝试访问
pickerItemData
属性时,结果总是未定义的

下面的代码显示了部分功能,它是根据

控制台中有一些调试输出,其中

Picker: incorrect model, wrong columns number:  0 
不幸的是,这对我来说没有任何意义,因为
选择器
正在呈现正确的列数。也没有关于错误消息的任何文档

导入bb.cascades 1.2
页面{
容器{
左填充:24.0
右侧填充:24.0
加总:12.0
底部填充:12.0
控制:[
采摘者{
id:选择器
标题:“选取者标题”
是的
rootIndexPath:[]
数据模型:ArrayDataModel{
id:数据模型
}
pickerItemComponents:[
PickerItemComponent{
类型:“item1”
内容:容器{
背景:Color.create(pickerItemData.background)
}
},
PickerItemComponent{
类型:“项目2”
内容:容器{
标签{
text:pickerItemData.text
textStyle.color:color.create(pickerItemData.color)
}
}
}
]
一旦创建完成:{
dataModel.append([
{
“第1项”:[{
“背景”:“ff0000ff”
}, {
“背景”:“ff00ff00”
},
{
“背景”:“ffff0000”
}, {
“背景”:“ff00ffff”
} ]
},
{
“项目2”:[
{
“文本”:“第1项”,
“颜色”:“FF8888888”
},
{
“案文”:“第2项”,
“颜色”:“ff0000ff”
},
{
“案文”:“第3项”,
“颜色”:“ff00ff00”
},
{
“案文”:“第4项”,
“颜色”:“ff00ffff”
},
{
“案文”:“第5项”,
“颜色”:“ffff0000”
},
{
“案文”:“第6项”,
“颜色”:“ffff00ff”
},
{
“案文”:“项目7”,
“颜色”:“ffffff00”
},
{
“案文”:“第8项”,
“颜色”:“#ffffffff”
} ]
} ]);
}
onSelectedValueChanged:{
var index0=选择器。选择的索引(0);
var index1=选择器。选择的索引(1);
log(“选择:“+index0+”,“+index1”);
}
}
]
}
}

通过JSON提供的数据结构与
XMLDataSource
提供的数据结构相同。如果您能提供任何帮助或洞察此问题,我们将不胜感激。

您看到的调试告诉您没有列,这是因为您在
onCreationCompleted
插槽中创建了模型。稍后填充时,将首先使用空模型初始化选择器。找到解决方案了吗?