我在TableView中创建了一个PickerView,它位于tableViewRow上。但我无法访问选取器的全部属性。
例如,我无法设置PickerView的TextHint我无法在index.js 中的选择器中获取selectedRow
这是我在index.xml中的代码
<Alloy>
<Window class="container">
<!-- <Label id="label" onClick="doClick">Hello, World</Label> -->
<TableView id="table">
<TableViewSection>
<TableViewRow>
<TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/>
</TableViewRow>
<TableViewRow>
<Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true">
<!-- On iOS, views can be added to picker rows -->
<PickerColumn id="column1">
<PickerRow title="Real Estate" id="id_picker_row">0</PickerRow>
<PickerRow title="Automobiles" id="id_picker_row">1</PickerRow>
<PickerRow title="Others" id="id_picker_row">2</PickerRow>
</PickerColumn>
</Picker>
</TableViewRow>
<TableViewRow title="Region"/>
<TableViewRow title="Membership Type"/>
</TableViewSection>
</TableView>
<Button id="id_member_search_btn" onClick="member_search_method"></Button>
</Window>
index.js
function picker_method(event){
event=$.id_picker;
Ti.API.info("User selected: " + event.getSelectedRow(0) + column.getSelectedRow(0));
}
在控制台上我得到:
User selected: undefined
在您的视图中:
<Alloy>
<Window class="container">
<!-- <Label id="label" onClick="doClick">Hello, World</Label> -->
<TableView id="table">
<TableViewSection>
<TableViewRow>
<TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/>
</TableViewRow>
<TableViewRow>
<Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true">
<!-- On iOS, views can be added to picker rows -->
<PickerColumn id="column1">
<PickerRow title="Real Estate"/>
<PickerRow title="Automobiles"/>
<PickerRow title="Others"/>
</PickerColumn>
</Picker>
</TableViewRow>
<TableViewRow title="Region"/>
<TableViewRow title="Membership Type"/>
</TableViewSection>
</TableView>
<Button id="id_member_search_btn" onClick="member_search_method"></Button>
</Window>
</Alloy>
在您的JS:中
function picker_method(event){
Ti.API.info("user selected : "+event.selectedValue);
}
您应该阅读更改事件文档,以获取有关传递给onchange处理程序的内容的更多信息http://docs.appcelerator.com/titanium/3.0/#/api/Tatitanium.UI.Picker-event-change
另外,请注意,我删除了你在PickerRows上的重复ID,ID必须是唯一的。