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

Titanium: Set ID of a text field with titanium UI

我正在研究钛并从控制器创建视图。我有四个字段,我需要用它们的 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 元素的示例。请指导

您无法设置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;
});