2017-02-03 3 views
2

私はこのような<select>タグ内<option>タグを繰り返したい:ポリマー2.xの<option>タグを繰り返す方法は?ポリマー1.0で

<select> 
 
    <template is="dom-repeat" items="{{items}}"> 
 
    <option value$="[[item]]">[[item]]</option> 
 
    </template> 
 
</select>

が、ポリマー2.xの中で<dom-repeat>タグを使用することをお勧めします:

<select> 
 
    <dom-repeat items="{{items}}"> 
 
    <template> 
 
     <option value$="[[item]]">[[item]]</option> 
 
    </template> 
 
    </dom-repeat> 
 
</select>

しかし、これは動作しません。どのようにポリマー2に<option>タグを繰り返すのですか?

+1

DOMリピート要素が完全に完了しないと、多くはで動作するようにpropably優れているバグを報告しているので、 is = "dom-repeat"です。あなたはpropablyこの問題としてgithubに投稿することができますが、私はそれがバグであるかわからない。いくつかの回避策が必要である –

答えて

4

この問題は、one reported for <dom-repeat> inside <table>と似ています。

今の問題を回避するには、2.0 <dom-repeat>ラップ "ハイブリッドモード" を使用することである<template is="dom-repeat">

<select> 
    <dom-repeat items="[[items]]"> 
    <template is="dom-repeat" items="[[items]]"> 
     <option value="[[item]]">[[item]]</option> 
    </template> 
    </dom-repeat> 
</select> 

codepen

UPDATE:(ポリマーチームからアーサー・エバンス) @DocDude noted in Slackは、<template is="dom-repeat">を使用しても依然としてポリマー2.0要素の内側にをサポートします。要素の外側からelementラッパーを使用する必要があります(例:index.html)。

slack discussion

@KevinShaafポリマーコアチームからもconfirmed this in GitHubがあります

github comment

+0

[Polymer 2.0 About]ページ(https://www.polymer-project.org/2.0/docs/about_20#type-extension)には、「Appleは、私たちはカスタムエレメントpolyfillへの無限の依存を避けるためにその使用を推奨しません "。だから、これはおそらくこれを行うための短期的な正しい方法だと思います(私はこれを正しい答えとして受け入れています)。しかし、将来これを行うための標準を補う方法がいくつかあることを願っています。 – jehna1

+0

@ jehna1 Appleは 'is' * Native *をサポートしていないことは事実ですが、ポリ充てんはその間に(' 'のバグが働いている間に)引き続きサポートします。あなたが最初に疑問を呈した2.0のコードは、実際には標準に準拠しているので、バグフィックスの後に動作します。 – tony19

関連する問題