在BB10 Cascades开发环境中可以使用SegmentedControl控件呈现一个横向摆放的单选项组件,在BB10 Cascades中可以通过“对象id.selectedValue()”的方法获取用户选中的选项内容。
官方给出的样例如下,不过该样例只在BB10 Cascades Beta2上可以运行成功,如果在BB10 Cascades Beta3上使用以下代码会报下面的错误:
TypeError: Result of expression 'segmented1.selectedValue' [1] is not a function.
解决问题的方法很简单,就是将“对象id.selectedValue()”直接换成“selectedValue ”,因为在onSelectedIndexChanged中selectedValue会直接给出当前选中的内容。
下面是会出错的代码:
SegmentedControl { id: segmented1 Option { id: option1 text: "option 1" value: "option1" selected: true } Option { id: option2 text: "option 2" value: "option2" } Option { id: option3 text: "option 3" value: "option3" } onSelectedIndexChanged: { var value = segmented1.selectedValue() console.debug("Selected value: " + value); } }
下面是Cascades Beta3上可以运行的代码,注意selectedValue那一行。
SegmentedControl { id: segmented1 Option { id: option1 text: "option 1" value: "option1" selected: true } Option { id: option2 text: "option 2" value: "option2" } Option { id: option3 text: "option 3" value: "option3" } onSelectedIndexChanged: { var value = selectedValue; console.debug("Selected value: " + value); } }