我有以下代码
<paper-radio-group
id="marital-status-group"
on-change={{changeHandler}}>
<paper-radio-button name='Married' label='Married'></paper-radio-button><br>
<paper-radio-button name='Divorced' label='Divorced'></paper-radio-button><br>
<paper-radio-button name='Single' label='Single'></paper-radio-button><br>
<paper-radio-button name='Visiting' label='Visiting'></paper-radio-button>
</paper-radio-group>
void changeHandler( CustomEvent e )
{
print ( ( e.target as PaperRadioButton ).label );
}
单击标签=“离婚”的按钮时,结果如下
Divorced (http://localhost:8080/packages/polymer/src/js/polymer/polymer.js:12)
我所需要的只是“离婚”而不是括号中的其他部分.
如果我应该单击另一个按钮,则会打印两个选项.
出了点问题.请问有什么正确的选择.
最佳答案 我认为您的示例按预期工作 – 即使您预期的那样;-)(http:// localhost:8080 / packages / polymer / src / js / polymer / polymer.js:12)仅由print()方法添加.
print((e.target as PaperRadioButton).label == 'Male');
版画
false (http://localhost:8080/packages/polymer/src/js/polymer/polymer.js:12)
true (http://localhost:8080/packages/polymer/src/js/polymer/polymer.js:12)
取决于您选择的元素.因此,您只需在代码中使用标签值即可.
我不知道为什么print()会添加这个.
在< app-element>中我用于此测试它根据我打印的位置添加不同的文本
AppElementConstructor (:1)
attached (:1)
ChangeEventhandler (http://localhost:8080/packages/polymer/src/js/polymer/polymer.js:12)
(我已经习惯了(:1)但是…… / polymer.js:12对我来说是新的.我想它是某种区域或隔离信息.
信息
paper-radio-group的selected属性绑定到所选纸张单选按钮的name属性
<paper-radio-group
id="marital-status-group"
selected="{{selectedName}}">
<paper-radio-button name='Married' label='Married'></paper-radio-button><br>
<paper-radio-button name='Divorced' label='Divorced'></paper-radio-button><br>
<paper-radio-button name='Single' label='Single'></paper-radio-button><br>
<paper-radio-button name='Visiting' label='Visiting'></paper-radio-button>
</paper-radio-group>
并在元素的Dart代码中
@observable String selectedName;
void selectedNameChanged(old) {
// do something when the another radio button got selected
}