gpt4 book ai didi

listview - 如何从级联黑莓中的 ListView 中获取值(value)

转载 作者:行者123 更新时间:2023-12-02 04:58:45 26 4
gpt4 key购买 nike

好吧,我只是想从选择的 ListView 中获取值并将其传递到下一个屏幕(页面)。但我无法做到,因为它显示错误,如

asset:///main.qml:25: TypeError: Result of expression 'dataModel.model' [undefined] is not a function.

我下面的一段代码如下

这段代码是我的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
}

}
}

我是这个开发的新手。

最佳答案

您可以像下面的代码一样在触发器上获取模型的当前项目..

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

关于listview - 如何从级联黑莓中的 ListView 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com