Titanium:使用钛UI设置文本字段的ID

时间:2015-04-28 12:32:26

标签: javascript android node.js titanium titanium-alloy

我正在研究钛并从控制器创建视图。我有四个字段,我需要用他们的ID设置值。请检查以下代码

var row = Ti.UI.createTableViewRow();

var first_name = Ti.UI.createTextField({
borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
color: 'black',
top: 10,
left: 10,
width: 250,
height: 60,
id:'first_name',
//value:data.first_name
});

row.add(first_name);

var tbl_data=[];
tbl_data.push(row);
var tbl= Ti.UI.createTableView({
data:tbl_data
});

$.home_view.add(tbl);

id:'first_name'似乎不起作用,我还没有找到任何将ID分配给任何UI元素的示例。请指导

1 个答案:

答案 0 :(得分:2)

您无法设置ID。但有2个选项

1:不要在控制器中输入,而是将其改为单独的控制器(参见我的blogpost on reusable components

2:设置如下:

$.first_name = Ti.UI.createTextField({
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    color: 'black',
    top: 10,
    left: 10,
    width: 250,
    height: 60
});

然后您可以在以后引用它:$.first_name.value;

您还可以将自定义属性设置为create函数(任何属性都可以正常工作)并使用事件识别它。像这样:

var field = Ti.UI.createTextField({
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    color: 'black',
    top: 10,
    left: 10,
    width: 250,
    height: 60,
    textFieldId: 'first_name'
});
field.addEventListener('blur',function(e){
    var id = e.source.textFieldId;
});