【问题标题】:in titanium alloy how to select row from picker在钛合金中如何从选择器中选择行
【发布时间】:2017-02-08 05:43:30
【问题描述】:

我有一个性别选择器的编辑个人资料页面,其中有两个选择器行(正如人们所期望的那样......)男性和女性。我想根据从 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);
    }

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

【问题讨论】:

    标签: titanium appcelerator titanium-mobile titanium-alloy


    【解决方案1】:

    行的第一个索引是 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);
    }
    

    【讨论】:

    • 你的代码工作,你可能执行这个代码你的“性别”是“m”尝试强制改变你的controller.js $.genderPicker.setSelectedRow(0, 1, false);跨度>
    【解决方案2】:

    你的 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);
     }
    

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

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多