Vue查询数据并通过bootstarp table渲染数据

首先我们需要将Vue与Bootstrap Table集成,方法如下:

1. 安装依赖

npm install vue bootstrap-vue bootstrap jquery popper.js

2. 配置Bootstrap Table

在Vue的组件中,引入Bootstrap Table并在“mounted”钩子函数中初始化,示例如下:

<template>
  <div>
    <b-table ref="table" :items="items"></b-table>
  </div>
</template>

<script>
import $ from 'jquery'
import 'popper.js'
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
import { BTable } from 'bootstrap-vue'

export default {
  data() {
    return {
      items: []
    }
  },
  components: {
    BTable
  },
  mounted() {
    $(this.$refs.table.$el).find('table').bootstrapTable({
      columns: [{
        field: 'id',
        title: 'ID'
      },{
        field: 'name',
        title: 'Name'
      },{
        field: 'gender',
        title: 'Gender'
      }],
      onLoadSuccess: function(data) {
        console.log(data);
      }
    });
  }
}
</script>

在上面的代码中,我们在“mounted”钩子函数中初始化Bootstrap Table,并传入了表头“columns”,和当表格数据成功加载时执行的回调函数“onLoadSuccess”。

3. 查询数据

接下来,我们需要查询数据。在这个例子中,我们可以使用Vue Resource库来发送请求。在这里,我们假设API是返回一个数组的JSON数据。我们可以在“created”钩子函数中发出HTTP GET请求,然后将数据保存在我们的data属性中。

<template>
  <div>
    <b-table ref="table" :items="items"></b-table>
  </div>
</template>

<script>
import $ from 'jquery'
import 'popper.js'
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
import { BTable } from 'bootstrap-vue'
import VueResource from 'vue-resource'

Vue.use(VueResource);

export default {
  data() {
    return {
      items: []
    }
  },
  components: {
    BTable
  },
  created() {
    this.$http.get('/api/data').then(response => {
      this.items = response.data;
    }, error => {
      console.log(error.statusText);
    });
  },
  mounted() {
    $(this.$refs.table.$el).find('table').bootstrapTable({
      columns: [{
        field: 'id',
        title: 'ID'
      },{
        field: 'name',
        title: 'Name'
      },{
        field: 'gender',
        title: 'Gender'
      }],
      onLoadSuccess: function(data) {
        console.log(data);
      }
    });
  }
}
</script>

在上面的代码中,我们使用了Vue Resource发送GET请求,然后在回调函数中将返回的数据设置为我们的“items”数据对象。

4. 完成!

现在,我们已经完成了Vue查询数据并通过Bootstrap Table渲染数据的攻略!下面是两个攻略完整示例:

示例1:查询Github用户列表
<template>
  <div>
    <b-table ref="table" :items="users"></b-table>
  </div>
</template>

<script>
import $ from 'jquery'
import 'popper.js'
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
import { BTable } from 'bootstrap-vue'
import VueResource from 'vue-resource'

Vue.use(VueResource);

export default {
  data() {
    return {
      users: []
    }
  },
  components: {
    BTable
  },
  created() {
    this.$http.get('https://api.github.com/users').then(response => {
      this.users = response.data;
    }, error => {
      console.log(error.statusText);
    });
  },
  mounted() {
    $(this.$refs.table.$el).find('table').bootstrapTable({
      columns: [{
        field: 'id',
        title: 'ID'
      },{
        field: 'avatar_url',
        title: 'Avatar'
      },{
        field: 'login',
        title: 'Name'
      }],
      onLoadSuccess: function(data) {
        console.log(data);
      }
    });
  }
}
</script>

在这个示例中,我们查询Github用户列表并渲染到Bootstrap Table中。

示例2:从XML文件读取数据
<template>
  <div>
    <b-table ref="table" :items="items"></b-table>
  </div>
</template>

<script>
import $ from 'jquery'
import 'popper.js'
import 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
import { BTable } from 'bootstrap-vue'
import VueResource from 'vue-resource'

Vue.use(VueResource);

export default {
  data() {
    return {
      items: []
    }
  },
  components: {
    BTable
  },
  created() {
    this.$http.get('/data/people.xml').then(response => {
      var xml = response.data;
      var $xml = $(xml);
      var persons = [];
      $xml.find('person').each(function() {
        var person = {};
        person.id = $(this).attr('id');
        person.name = $(this).find('name').text();
        person.gender = $(this).find('gender').text();
        persons.push(person);
      });
      this.items = persons;
    }, error => {
      console.log(error.statusText);
    });
  },
  mounted() {
    $(this.$refs.table.$el).find('table').bootstrapTable({
      columns: [{
        field: 'id',
        title: 'ID'
      },{
        field: 'name',
        title: 'Name'
      },{
        field: 'gender',
        title: 'Gender'
      }],
      onLoadSuccess: function(data) {
        console.log(data);
      }
    });
  }
}
</script>

在这个示例中,我们从一个XML文件中读取数据,并将其渲染到Bootstrap Table中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue查询数据并通过bootstarp table渲染数据 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue.component的属性说明

    下面详细讲解一下Vue中的组件属性说明。 Vue.component的属性说明 在Vue中,组件的一些常用属性可以用Vue.component进行定义。下面是Vue.component的主要属性说明: props props属性用于接收父组件传递过来的数据,在组件内部通过 this.$props 访问。它是一个数组或对象,数组中的元素可以是字符串或对象。如果…

    Vue 2023年5月27日
    00
  • Vue中函数防抖节流的理解及应用实现

    Vue中函数防抖节流的理解及应用实现 在Vue中,函数防抖(debounce)和函数节流(throttle)是常用的一些技巧。 函数防抖(Debounce) 基本概念 在前端开发中,有些事件会频繁地触发,如窗口大小的改变、搜索框的输入等等。如果我们在这类事件的回调函数中添加一些比较耗时的操作,就会影响页面的性能和用户体验。 函数防抖的原理是,在事件被触发n秒…

    Vue 2023年5月28日
    00
  • Vue配置文件vue.config.js配置前端代理方式

    当我们在开发Vue项目时,有时候需要通过前端代理方式来解决跨域的问题。在Vue项目中实现前端代理的方式有很多种,本文将详细介绍如何通过配置Vue的配置文件vue.config.js实现前端代理方式。 vue.config.js文件 vue.config.js是一个可选的配置文件,如果项目的根目录中存在该文件,则该文件会被@vue/cli-service自动加…

    Vue 2023年5月28日
    00
  • vue日期时间工具类详解

    Vue日期时间工具类详解 什么是Vue日期时间工具类 Vue日期时间工具类是一个方便的工具,用于在Vue项目中处理日期时间相关的任务。它提供了许多便捷的方法,比如获取当前时间、格式化日期时间、计算时间差等等。Vue日期时间工具类可以大大简化处理日期时间的过程,减少开发者的工作量。 如何安装Vue日期时间工具类 首先,我们需要使用npm来安装Vue日期时间工具…

    Vue 2023年5月28日
    00
  • 浅析Vue 中的 render 函数

    下面我将为你详细讲解“浅析Vue 中的 render 函数”的完整攻略。 什么是 render 函数 在 Vue 中,模板是数据与 DOM 的映射,我们通过编写模板可以将数据渲染到页面上。但是,在一些场景下,如大规模的复杂组件或者需要高度自定义渲染逻辑的场景,使用传统的模板语法显得力不从心。这时候可以使用 Vue 的 render 函数,它不仅可以让我们更加…

    Vue 2023年5月27日
    00
  • Vue 中可以定义组件模版的几种方式

    在 Vue 中,定义组件模版的几种方式如下: 1. 使用 template 属性 通过在组件配置中定义 template 属性,可以在组件实例中定义模版。 Vue.component(‘hello-world’, { template: ‘<div class="hello-world">Hello {{ name }}!&l…

    Vue 2023年5月27日
    00
  • vue使用中的内存泄漏【推荐】

    Vue 使用中的内存泄漏【推荐】 什么是内存泄漏 内存泄漏指的是在程序运行中,分配的内存没有释放,这样就会造成内存占用过高的问题。在 Vue 中,内存泄漏指的是在使用过程中,一些会影响页面性能的事件监听器、订阅等占用内存的功能没有被释放,最终导致页面卡顿、甚至崩溃。 如何解决内存泄漏问题 取消事件监听 在 Vue 中,无论是使用 @click、@scroll…

    Vue 2023年5月28日
    00
  • vue-tree-chart树形组件的实现(含鼠标右击事件)

    树形组件介绍 vue-tree-chart是基于Vue实现的树形组件,其可以用于呈现大量的数据,并支持鼠标右键事件。该组件支持多级嵌套的树形结构,可以轻松地呈现层级数据,拥有流畅的展开和折叠操作,同时支持自定义节点的样式、连接线等。下面将介绍如何实现该组件。 实现步骤 首先在Vue项目中安装vue-tree-chart组件: npm install vue-…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部