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