如何在Titanium PickerRow中添加自定义属性?

时间:2013-10-21 13:30:58

标签: javascript titanium appcelerator titanium-mobile appcelerator-mobile

是否可以在Titanium.UI.PickerRow中添加自定义属性?

在下面的代码中,我想添加自定义属性“index”(使用applyProperties PickerRow方法)

var daysRows = [];
for (var i = 0, j = days.length; i < j; i++) {
    var currentRow = Ti.UI.createPickerRow({
                    title : days[i],

    });

           //adding custom property to identify selection
    currentRow.applyProperties({index:i});

    daysRows.push(currentRow);
};

但是当稍后迭代PickerRow对象时,我无法获得自定义属性索引。我所看到的只是Titanium属性标题。

我使用下面的代码来迭代可用的属性。

button.addEventListener('click', function(e) {
          ..............
        var selectedRow = picker.getSelectedRow(2);

            for (var k in selectedRow) {
            Ti.API.info('key is: ' + k + ', value is: ' + selectedRow[k]);      
        }
    });

我做错了什么?有什么办法可以在PickerRow中添加自定义属性吗?

2 个答案:

答案 0 :(得分:0)

这是Android平台中的Titanium/Appcelerator issue

此问题见于Titanium SDK 3.1.1,未在2013年8月发布的3.1.2版本中修复。

更新

jira.appcelerator.org/browse/TIMOB-14285现已关闭。此操作应该从版本6.1.0开始运行。

答案 1 :(得分:0)

这是旧的,但我遇到了类似的问题。我发现的解决方法是在创建时传递属性而不是应用

Ti.UI.createPickerRow({title: 'My Row', customId: 1});

这可能不适合所有人,但为我工作