在更改排序模式时刷新dom-repeat - 阵列集不需要突变以进行排序

时间:2016-10-09 07:32:36

标签: polymer polymer-1.0

我有一个dom-repeat模板,我希望能够实时对列表进行排序。所以,我采用的方式是下面的方式。但是,当用户从paper-menu中选择新选项时,我需要一种方法来刷新dom-repeat。

通常,对结果集数组的修改会执行此操作。但在这种情况下,对列表进行排序的更改并不需要添加或删除该数组中的任何内容(因此没有数组突变)。

我怎样才能让<template is="dom-repeat" items="[[pic.results173]]" as="url" sort="_sortList">刷新?

<paper-menu-button>
  <paper-button class="dropdown-trigger" raised>
    <iron-icon icon="visibility"></iron-icon>
    <span>View By</span>
  </paper-button>
  <paper-menu id="viewMode" class="dropdown-content" selected="0">
    <paper-item>Most Recent</paper-item>
    <paper-item>Least Recent</paper-item>
    <paper-item>Highest Price</paper-item>
  <template is="dom-repeat" items="[[pic.results173]]" 
    as="url" sort="_sortList">
  _sortList: function(first, second) {
    var el = this.$.viewMode;
    var listMode;
    switch(el.selected) {
      case 0:
        listMode = this._mostRecent(first , second);
        break;
    }
    return listMode;
  },

1 个答案:

答案 0 :(得分:7)

开发者指南有你的答案。为您的模板添加ID(例如id =&#34; list&#34;)并致电this.$.list.render()