在钛中 alloy 如何 select 从选择器中排

in titanium alloy how to select row from picker

我有一个带有性别选择器的编辑个人资料页面,其中有两个选择器行(正如人们所期望的......)男性和女性。我想根据从 API 加载的数据更改选定的行。 这是我的 view.xml

<Picker id="genderPicker">
    <PickerRow title="Male"></PickerRow>
    <PickerRow title="Female"></PickerRow>
</Picker>

style.tss

"Picker": {
      top: 2,
      bottom: 2,
      left: 110,
      width: 120,
      height: 50,
      backgroundColor: '#666',
      selectionIndicator: true
    }

    "PickerRow": {
      color: '#fff'
    }

controller.js

    if (gender == 'm') {
        Ti.API.info('g-m');
        $.genderPicker.setSelectedRow(0, 0, false);
    } else {
        Ti.API.info('g-f');
        $.genderPicker.setSelectedRow(0, 1, false);
    }

我得到了性别的值,并根据它设置了选定的行,但没有任何反应。

行的第一个索引是 0 而不是 1

 if (gender == 'm') {
    Ti.API.info('g-m');
    $.genderPicker.setSelectedRow(0, 0, false);
} else {
    Ti.API.info('g-f');
    $.genderPicker.setSelectedRow(0, 1, false);
}

你的controller.js应该是

 if (gender == 'm') {
    Ti.API.info('g-m');
    $.genderPicker.setSelectedRow(0, 0, false);
 } else {
    Ti.API.info('g-f');
    $.genderPicker.setSelectedRow(1, 0, false);
 }

第一个参数是列。 发送是行。