我有以下代码
<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)
我所需要的只是'离婚'而不是括号中的其他部分。 如果我应该单击另一个按钮,则会打印两个选项。
出了点问题。有什么正确的选择。
答案 0 :(得分:2)
我认为您的示例按预期工作 - 即使您预期的那样;-) (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
对我来说是新的。我想这是某种区域或隔离信息。
selected
的{{1}}属性绑定到所选paper-radio-group
name
属性
paper-radio-button
以及元素的Dart代码
<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>