好吧,我只是想从选择列表视图中获取值并将其传递到下一个屏幕(页面)。但我无法做到,因为它显示错误,如
asset:///main.qml:25:TypeError:表达式'dataModel.model'的结果'[undefined]不是函数。
我的以下代码如下
此代码属于我的main.qml
NavigationPane
{
id:navi
Page
{
Container
{
background: Color.Transparent
topMargin:2.0
TextField {
id: lb1
text:""
}
ListView
{
topMargin: 2.0
dataModel: XmlDataModel { source: "model.xml" }
onTriggered: {
console.log("onTriggered");
// Retrieve the selected item
var selectedItem = dataModel.data(indexPath);
lb1.text = selectedItem.status;
pushed.lb2.text="You Selected :" + lb1.text;
navi.push(pushed)
}
}
}
}
attachedObjects: [
Page2 {
id: pushed
}
]
}
此代码属于我的第二页Page2.qml,我想从main.qml中检索信息
import bb.cascades 1.0
Page {
property alias lb2: lb2
Container {
horizontalAlignment: HorizontalAlignment.Center
Label {
id:lb2
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
text: "You Selected :" + lb1
}
}
}
我是这个发展的新手。
答案 0 :(得分:0)
您可以在Trigger上获取模型的当前项目,如下面的代码..
onTriggered: {
var selectedItem = dataModel.data(indexPath);
textField.text = selectedItem.status;
}
您可以从Responding to selection了解详情。
<强>更新强>
您必须将传递数据的别名从一个页面设置为另一个页面。
错误中的一些问题..
1)删除OnTriggerd中下面一行的文字。
pushed.lb2 ="You Selected :" + lb1.text;
2)正确设置别名
property alias lb2: lb2.text