Google Inboxをベースにした折りたたみリストをPolymerで作成しようとしています。Polymer:Buttonclickが親コンテナのクリックイベントをトリガーする
Iは、各要素が内部鉄崩壊と紙材料あるポリマー要素のリストを作成しました。
鉄崩壊には、データと紙の2つのボタンが含まれています。 sです。
親紙素材をクリックすると、<iron-collapse>
要素を表示/非表示にする必要があります。
これは本当にうまくいきますが、残念なことにそのイベントはのペーパーボタンをクリックした後にも発生します。 送付ボタン内部の鉄崩壊。
は私が子供のボタンハンドラに するevent.stopPropagation()を追加しようとしたが、ボタンをクリックすると 鉄崩壊はまだ、崩壊します。アイデア?親コンテナの
コード:
<paper-material id="papercontainer" elevation="1" class="container padded" animated style="border-radius:4px;">
<div class="container">
<div class="container flex-start-justified">
<div class="flexchild">
<h4 class="smaller-margin">Bill Gates</h4>
<p class="smaller-margin">[email protected]</p>
<p class="paper-font-caption smaller-margin">Date received: 01/01/2015</p>
</div>
<p>
<paper-button raised on-click="send">Send</paper-button>
</p>
</div>
<!--Code for iron-collapse (child): -->
<div class="container flex-horizontal">
<iron-collapse id="collapse" class="flexchild">
<div class="flexchild collapse-content" style="margin-top:10px;">
<paper-button>Edit Mail</paper-button>
</div>
</iron-collapse>
</div>
</div>
</paper-material>
Javascriptを:私は私の理解 'タップ' パー https://www.polymer-project.org/1.0/docs/devguide/events.html
からイベントのチュートリアルに従っている
Polymer({
is: 'zapytania-result-element2',
toggle: function() {
this.$.collapse.toggle();
},
listeners: {
'tap': 'regularTap'
},
regularTap: function(e) {
console.log('toggle iron-collapse');
if(this.$.collapse.opened) {
this.$.collapse.hide();
this.$.papercontainer.elevation = 1;
} else {
this.$.collapse.show();
this.$.papercontainer.elevation = 5;
}
},
send: function() {
sendMail();
}
}
コードを表示してください。 –
私はいくつかのコードを提供しました。一般に、鉄崩壊は、クリックされたときだけでなく、送信ボタンがクリックされたときにも表示/非表示になります。これを回避するには? –
鉄崩壊のように見えず、クリックイベントを待ち受けます。自分で 'トグル 'と呼ぶのは本当ですか? 'toggle()'はどこから呼び出されますか? –