可动态的-记录被追加到以前的列表,每次页码被改变

Dynatable - records are appended to previous list each time the page number is changed

本文关键字:改变 列表 动态 记录 追加      更新时间:2023-09-26

我试图使用Dynatable从本地json数据集创建程式化的记录列表。在动态文档中,程式化列表的示例是使用Reader函数从DOM中获取记录,并使用Writer函数在页面中生成记录。我只需要使用本地数据集而不是阅读器功能。如下所示:

     var localJSON = '[{  "caption": "<div>myCaption1</div>", "thumbnail": " <img src=''../images/test.jpg'' />" },'
                     +'{  "caption": "<div>myCaption1</div>", "thumbnail": " <img src=''../images/test.jpg'' />" }, '
                     +'{  "caption": "<div>myCaption1</div>", "thumbnail": " <img src=''../images/test.jpg'' />" }, '
                     +'{  "caption": "<div>myCaption1</div>", "thumbnail": " <img src=''../images/test.jpg'' />" }] ';
     var records = JSON.parse(localJSON);
     function ulWriter(rowIndex, record, columns, cellWriter) {
         var li = '';
         var cssClass = "col-sm-3";
         if (rowIndex % 4 === 0) { cssClass += ' first'; }
         li = '<li class="' + cssClass + '"><div class="thumbnail"><div class="thumbnail-image">' + record.thumbnail + '</div>' + record.caption + '</div></li>';
         return li;
     }
     $('#sampleUIList').dynatable({
        dataset: {
              perPageDefault: 4,
              records: records 
          },
          writers: {
              _rowWriter: ulWriter
          }
     });

问题是每次我尝试更改页码或更改perPageOptions时,整个数据集(localJSON)都附加到前一个(记录上的+=)。我错过什么了吗?

您缺少以下配置参数:

  table: {
     bodyRowSelector: 'li'
  },

把它添加到你的配置中,看起来像:

$('#sampleUIList').dynatable({
   dataset: {
         perPageDefault: 4,
         records: records 
     },
     writers: {
         _rowWriter: ulWriter
     },
     table: {
       bodyRowSelector: 'li'
     }
});