我已设法将远程 Json Web 服务中的数据加载到 QML ListView 中,但 DropDown 控件似乎没有任何此类内容。
有人有示例或替代方法来完成绑定到 Cascades 中附加对象数据源的 DropDown 吗?
我已设法将远程 Json Web 服务中的数据加载到 QML ListView 中,但 DropDown 控件似乎没有任何此类内容。
有人有示例或替代方法来完成绑定到 Cascades 中附加对象数据源的 DropDown 吗?
我为您准备了另一种方法,请注意,我在这里使用了 google 的网络服务来进行演示,您需要将其替换为您的 url 并据此解析响应。
import bb.cascades 1.0
Page {
attachedObjects: [
ComponentDefinition {
id: optionControlDefinition
Option {
}
}
]
function getData() {
var request = new XMLHttpRequest()
request.onreadystatechange = function() {
if (request.readyState == 4) {
var response = request.responseText
response = JSON.parse(response)
var addressComponents = response.results[0].address_components
for (var i = 0; i < addressComponents.length; i ++) {
var option = optionControlDefinition.createObject();
option.text = addressComponents[i].long_name
dropDown.add(option)
}
}
}
// I have used goole's web service url, you can replace with your url
request.open("GET", "http://maps.googleapis.com/maps/api/geocode/json?address=" + "Ahmedabad" + "&sensor=false", true)
request.send()
}
Container {
DropDown {
id: dropDown
}
Button {
onClicked: getData()
}
}
}
希望这可以帮助。