2017-08-27 8 views
0

私はPolymer1を使って次のことを行いました。 Polymer2.0で同じ操作を実行しても、buttonの自動ドロップダウンメニューは表示されません。 誰かが私に何をすべきか教えてください。それはShadow DOMと関係があるようです。 Polymer1Polymer2.0のダイナミックドロップダウンメニューの実装。 Polymer2.0ではなく、Polymer1.0で動作します

index.htmldom ='shadow'を有し、その代わり<slot><content>タグ、それはdReadyDynamicRightMenuReadyに取得し、ドロップダウンをトリガします。 しかし、Polymer2.0でもこの機能になり、ドロップダウンはトリガーされません。

<!-- this is in my-spxl Polymer2.0 --> 
<paper-menu-button class="userMenuPositionClass"> 
<paper-icon-button icon="menu" class="dropdown-trigger"></paper-icon-button> 
<paper-dropdown-menu class="dropdown-content"> 
    <iron-selector selected="[[choice]]" attr-for-selected="mychoice" role="navigation"> 
     <template id="" is="dom-repeat" items="[[dReadyDynamicRightMenuReady]]" as="menuOption"> 
      <paper-item>... </paper-item> 
     </template> 
    </iron-selector> 
</paper-dropdown-menu> 
</paper-menu-button> 

<paper-button class=""> <img on-tap="openRightMenuFromPhoto" src="[[user.photoURL]]"> </paper-button>

スクリプト: openRightMenuFromPhoto() { var usersMenuButton = this.$.userMenuIconId; usersMenuButton.click(function(event) { dReadyDynamicRightMenuReady = [ { "myChoice": "spx21", "myHref": "/spx21", "myOptionValue": "chats" } ]; return dReadyDynamicRightMenuReady; }) }

+0

ご迷惑をおかけして申し訳ございませんが、一部のタグは上記のとおり印刷されませんでした。 Errata:Polymer1では、index.htmlにはdom = 'shadow'、スロットの代わりにcontentタグ(Polymer2.0用)、... –

+0

スクリプト部分も提供できますか? – Ofisora

+0

Ofisoraを編集してくれてありがとう。スクリプトが提供されました。 –

答えて

1

あなたのコード内のいくつかのミスがあります。

  1. ハンドルとイベントを発火:

    クリックリスナーは関数内で。それは決して呼び出されません。イベントリスナーをready()またはconnectedCallbackに配置します。方法の詳細については、click hereを参照してください。

  2. 設定プロパティ値:

    関数内でプロパティ値を設定し、それを設定しません返します。 this.property = valueを使用し、変更を通知します。 OR、配列/オブジェクトの場合はpolymer array mutation methodsを使用します。

  3. paper-menu-buttondocumentationを読む:

    代わりにドキュメントのようにclass='dropdown-trigger'使用slotの。

また、Minimal, Complete, and Verifiable exampleを作成してみてください。

+0

おはようございます!他のコンテンツはメニューに重なっていますが、これは機能します。おかげさまで、最小限に抑えます。 –

関連する問題