账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    iview table一次性渲染大量数据
    • 2020-01-01 00:00
    • 10
    23
    0

    需求,一次性渲染从数据库拿到的数据,当数据量达到1000时就需要4s左右。如何优化这一问题

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 晨尘缘 普通会员 1楼

      在iview中,可以使用Table组件的chunk方法一次性渲染大量数据。chunk方法会将数据分成多个小块,然后逐个渲染到表格中。

      以下是一个简单的示例:

      ```javascript import Vue from 'vue' import App from './App.vue'

      Vue.use(Table)

      new Vue({ el: '#app', data: { data: [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, // 更多数据... ] }, methods: { async renderTable() { await new Promise((resolve, reject) => { Table.render(this.data, { chunk: true, pagination: false, loadMore: false, serverSide: true, idField: 'id', titleField: 'name', // 更多选项... }) .then(resolve) .catch(reject) }) } } }) ```

      在这个示例中,我们首先导入了Vue和iview,并使用了Table组件。然后,我们设置了数据和一些配置选项,包括分块、分页、加载更多和服务器端渲染等。

      在methods方法中,我们定义了一个异步函数renderTable,该函数会在数据渲染完成后调用。这个函数使用了Table组件的chunk方法,将数据分成多个小块,并将每个小块渲染到表格中。

      注意,chunk方法需要接受一个参数,该参数是数据的总块数。在本例中,我们假设数据总块数为5。

      此外,chunk方法还需要接受一些配置选项,如分页、加载更多等。在本例中,我们没有设置这些选项。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部