代码之家  ›  专栏  ›  技术社区  ›  Hyyan Abo Fakher JM1

使用“分配远程/功能数据”方法时如何使用vaadin网格处理项数据绑定

  •  0
  • Hyyan Abo Fakher JM1  · 技术社区  · 7 年前

    <vaadin-grid id="grid" aria-label="Remote Data Example">
      <vaadin-grid-column path="firstName"></vaadin-grid-column>
      <vaadin-grid-column path="lastName"></vaadin-grid-column>
      <vaadin-grid-column path="email"></vaadin-grid-column>
    </vaadin-grid>
    <script>
      window.addEventListener('WebComponentsReady', function() {
        const grid = document.querySelector('vaadin-grid');
    
        grid.size = 200;
        grid.dataProvider = function(params, callback) {
          var xhr = new XMLHttpRequest();
          xhr.onload = function() {
            callback(JSON.parse(xhr.responseText).result);
          };
          var index = params.page * params.pageSize;
          xhr.open('GET', 'https://demo.vaadin.com/demo-data/1.0/people?index=' + index + '&count=' + params.pageSize, true);
          xhr.send();
        };
      });
    </script>
    

    我不知道如何使用聚合数据绑定更新加载项中的行

    我试图进入 items 在网格中使用 this.$.grid.items 但这总是返回项目数

    this.$.grid.items[0].firstName = 'changed' 并将变化反映到网格中

    如有任何帮助,我们将不胜感激

    0 回复  |  直到 7 年前
        1
  •  1
  •   Hyyan Abo Fakher JM1    7 年前

    目前,当 dataProvider 使用。一种选择是 grid.clearCache() 使网格再次请求可见行的数据。当然,在这种情况下,将这些项存储在一个额外的缓存中会很有用,以避免不必要的服务器请求。如果你使用 path renderer ,您还可以调用 grid.render() 更改项子属性后。

    看见 vaadin/vaadin-grid#1526 以及相关的论坛主题

    推荐文章