Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updateRows方法 #127

Closed
517724473 opened this issue Aug 19, 2020 · 10 comments
Closed

updateRows方法 #127

517724473 opened this issue Aug 19, 2020 · 10 comments

Comments

@517724473
Copy link

这个方法给个例子 也不知道写在哪里在vue中,很懵的 老大

@jiaming743
Copy link
Member

<dv-scroll-board :config="config" ref="scroll-board"  />

export default {
   doUpdate () {
      const scrollBoard = this.$refs['scroll-board']
      scrollBoard.updateRows(someRows)
  }
}

@517724473
Copy link
Author

老大 可以具体些不 看的有点麻

@517724473
Copy link
Author

methods: {

doUpdate () {
  const scrollBoard = this.$refs['scroll-board']
  scrollBoard.updateRows( ['<div style="text-align: center;font-size: calc(12px + (16 - 12) * ((100vw - 400px) / (1500 - 400)));">455012157133761</div>',
    ])
}

},

@517724473
Copy link
Author

TypeError: scrollBoard.updateRows is not a function

@BZ-koko
Copy link

BZ-koko commented Aug 19, 2020

遇到了同样的问题,datav是最新版本

@517724473
Copy link
Author

517724473 commented Aug 19, 2020 via email

@jiaming743
Copy link
Member

jiaming743 commented Aug 19, 2020

请确保版本大于等于v2.9.6
参考下述🌰,调用方法时,确保组件已经渲染

<!DOCTYPE html>
<html>
  <head>
    <title>DataV</title>
    <script src="https://unpkg.com/vue"></script>
    <script src="https://unpkg.com/@jiaminghi/data-view/dist/datav.map.vue.js"></script>
    <style>
      html,
      body,
      #app {
        width: 100%;
        height: 100%;
        margin: 0px;
        padding: 0px;
      }

      .dv-scroll-board {
        width: 400px !important;
        height: 200px !important;
      }
    </style>
  </head>
  <body>
    <div id="app">
      <dv-scroll-board :config="config" ref="test"></dv-scroll-board>
    </div>

    <script>
      var app = new Vue({
        el: "#app",
        data() {
          return {
            config: {
              header: ["列1", "列2", "列3"],
              data: [
                ["行1列1", "行1列2", "行1列3"],
                ["行2列1", "行2列2", "行2列3"],
              ],
            },
          };
        },
        mounted() {
          setTimeout(() => {
            this.$refs["test"].updateRows([
              ["行1列1", "行1列2", "行1列3"],
              ["行2列1", "行2列2", "行2列3"],
              ["行3列1", "行3列2", "行3列3"],
              ["行4列1", "行4列2", "行4列3"],
              ["行5列1", "行5列2", "行5列3"],
              ["行6列1", "行6列2", "行6列3"],
              ["行7列1", "行7列2", "行7列3"],
              ["行8列1", "行8列2", "行8列3"],
              ["行9列1", "行9列2", "行9列3"],
              ["行10列1", "行10列2", "行10列3"],
            ]);
          }, 2000);
        },
      });
    </script>
  </body>
</html>

@517724473
Copy link
Author

517724473 commented Aug 19, 2020 via email

@cx526
Copy link

cx526 commented Jun 20, 2022

新添加一条数据后,配置的隔行变色就失效了,怎么解?

@willcom95
Copy link

willcom95 commented May 26, 2023

有点坑, 用this.refs返回的数据格式变成一个数组了,后面要加个[0]才是组件实例

<dv-scroll-board :config="config" ref="scroll-board"  />

export default {
   doUpdate () {
      const scrollBoard = this.$refs['scroll-board'][0] // 注意看这里[0]
      scrollBoard.updateRows(someRows)
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants