【问题标题】:Dynamic pickerRow Titanium Studio动态pickerRow Titanium Studio
【发布时间】:2012-05-05 10:58:26
【问题描述】:

我是一个绝对的初学者,我正在尝试开发我的第一个应用程序。我浏览了 Lynda.com.Titanium.Mobile.App.Development.Essential.Training。

然后我画出我想要实现的东西,基本上是一个多选器,主要字段是:

大陆、国家、州、机场、纬度、Lng

动态链接

所以我开始四处搜索,发现以下代码和平:

var win = Ti.UI.createWindow();
{//选择器

var picker = Ti.UI.createPicker({
    selectionIndicator: true
});

var data = [
    {country: 'US', cities: ['Miami', 'Orlando', 'LA', 'Ny']}, 
    {country: 'Canada', cities: ['Toronto', 'Ottawa', 'Quebec']}, 
    {country: 'UK', cities: ['London', 'York', 'Oxford', 'Bath']}
];
var rows = [];
for (var i = 0; i < data.length; i++){
    var row = Ti.UI.createPickerRow({
        title: data[i].country,
        cityArray: data[i].cities
    });

    rows.push(row);

}
picker.add(rows);

picker.addEventListener('change', function(e){
    Ti.API.info(e.row.title);
    Ti.API.info(e.row.cityArray);
})   

win.add(picker);
}
win.open();

但我认为它没有按应有的方式工作,它不显示第二个选择器、任何帮助、任何建议、指针?

干杯

【问题讨论】:

    标签: android ios windows-mobile dynamic-data titanium-mobile


    【解决方案1】:

    您的代码有一些语法错误。

    var win = Ti.UI.createWindow();
    
    var picker = Ti.UI.createPicker({
        selectionIndicator: true
    });
    var column1 = Ti.UI.createPickerColumn();
    var column2 = Ti.UI.createPickerColumn();
    
    var data = [
        {country: 'US', cities: ['Miami', 'Orlando', 'LA', 'Ny']}, 
        {country: 'Canada', cities: ['Toronto', 'Ottawa', 'Quebec']}, 
        {country: 'UK', cities: ['London', 'York', 'Oxford', 'Bath']}
    ];
    
    for (var i = 0; i < data.length; i++){
        var row1 = Ti.UI.createPickerRow({
            title: data[i].country,
    
        });
        column1.addRow(row1);
    }
    
    for (x in data[0])
    {
        var row2 = Ti.UI.createPickerRow({
            title: data[0][x].val,
    
        });
        column2.addRow(row2)
     }
    
    picker.add([column1,column2]);
    
    picker.addEventListener('change', function(e){
        Ti.API.info(e.row.title);
        Ti.API.info(e.row.cityArray);
    });
    
    win.add(picker);
    
    win.open();
    

    我稍微修改了代码。

    这应该返回完整的左侧选择器,以及第二个选择器中第一个城市的选项。

    当第一个选择器发生变化时,您的事件侦听器必须更改第二个选择器。

    注意添加了“列”。

    我还清理了一些语法错误。

    我没有测试过这段代码,但它应该会引导你朝着正确的方向前进。

    另外,这应该会有所帮助:http://docs.appcelerator.com/titanium/2.0/#!/api/Titanium.UI.Picker

    【讨论】:

    • 卡梅伦,非常感谢你,很抱歉我刚刚看到你的帖子。我会尽快尝试,并将结果发回。
    • 没问题的人!我没有测试该代码,因此可能存在错误。应该是一个很好的起点。另一件要看的东西是厨房水槽。您可以从 Titanium Studio 仪表板下载它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多