2016-09-14 3 views
0

私のデータは、キーと値のペアを持つオブジェクトの配列です。私は、ポリマー成分のデータをテーブルに取り込もうとしています。キーを明示的に使用すると機能します。ここで「FacilityId」との例です:あなたは、動的に生成された列から見ることができるようデータキーを知らずにセルを挿入する

<table class="table table-striped table-bordered table-hover"> 
    <thead> 
    <tr> 
     <template is="dom-repeat" items="{{columns}}"> 
      <th>{{item}}</th> 
     </template> 
    </tr> 
    </thead> 
    <tbody> 
     <template is="dom-repeat" items="{{data}}"> 
      <tr> 
       <td>{{item.FacilityId}}</td> 
      </tr> 
     </template> 
    </tbody> 
</table> 

しかし、私はいつも鍵が命名されるかわかりません。私は{{item[0]}}を使ってみましたが、うまくいかず、たとえそれがあったとしても、どれくらいの数があるのか​​分かりません。私もネストされたテンプレートを使用してみましたが、私はそれを理解できませんでした。ここで

は私のデータがどのように見えるかである(再び、フィールドの数と名前は、しかし変化させることができる):@デビッドRが参照する回答に基づいて

enter image description here

+0

Misreaあなたの質問、あなたの 'FaciltyId'、' LastMessage'と 'SourceConfigName'は正しいままですか?彼らのそれぞれの値だけが動的な権利として来ることを意味しますか? –

+0

いいえ、列名と数が変わることがあります。これは再利用可能なポリマー成分です –

+2

ここで「スコット・マイルズ」の回答を確認してください - http://stackoverflow.com/questions/30781500/how-to-use-dom-repeat-with-objects-instead-of -Arays-in-Polymer-1-0 –

答えて

0

は、この作品:

<table class="table table-striped table-bordered table-hover"> 
    <thead> 
    <tr> 
     <template is="dom-repeat" items="{{columns}}"> 
      <th>{{item}}</th> 
     </template> 
    </tr> 
    </thead> 
    <tbody> 
     <template is="dom-repeat" items="{{data}}"> 
      <tr> 
       <template is="dom-repeat" items="{{_toArray(item)}}"> 
        <td>{{item.value}}</td> 
       </template> 
      </tr> 
     </template> 
    </tbody> 
</table> 

そしてhttps://stackoverflow.com/a/30794220/736893からカスタム関数:

Polymer({ 
    is: 'widget-table', 
    properties: { 
     data: { 
      type: Array, 
      value: function() {return []} 
     } 
    }, 
    _toArray: function(obj) { 
     return Object.keys(obj).map(function(key) { 
      return { 
       name: key, 
       value: obj[key] 
      }; 
     }); 
    } 
}); 
関連する問題