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

yizhihongxing

首先我们需要将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日

相关文章

  • vue3的watch和watchEffect你了解吗

    当我们在使用Vue.js开发应用时,经常需要监听数据的变化并做出相应的响应,在Vue.js中,我们可以使用watch和watchEffect这两个响应式API来实现数据的监听。 watch watch是Vue.js中的一个响应式API,用于监听指定数据的变化并做出相应的响应。在Vue3中,我们可以通过watch函数来创建一个监听器。 watch的基本用法 以…

    Vue 2023年5月27日
    00
  • vue2源码解析之全局API实例详解

    “vue2源码解析之全局API实例详解”是一篇深入分析Vue.js源码的文章,主要介绍了Vue.js全局API的相关实例,为读者深入了解Vue.js源码提供了基础。 本文主要涉及到Vue.js的全局API实例,包括Vue.extend、Vue.nextTick、Vue.set、Vue.delete等。其中,Vue.extend用于创建具有复用性的组件构造器;…

    Vue 2023年5月27日
    00
  • Vue CLI 3.x 自动部署项目至服务器的方法

    这里我为大家讲解如何使用Vue CLI 3.x自动部署项目至服务器的详细步骤。 什么是Vue CLI 3.x自动部署? Vue CLI 3.x自动部署是指通过Vue CLI 3.x提供的自动化工具,将项目自动部署到远程服务器上。使用起来相当方便快捷,可以极大地提高团队的开发效率。 准备工作 在使用Vue CLI 3.x自动部署功能之前,需要先安装好以下软件:…

    Vue 2023年5月28日
    00
  • 使用canvas仿Echarts实现金字塔图的实例代码

    使用canvas模拟 Echarts 实现各种图表类型,并非易事,尤其是对于初学者。但是,在较少甚至没有 Echarts 库的情况下,这种方法能够使你实现各种基本图形类型,受控制的小部件,重新构建以及基于自定义的视觉样式。 实现金字塔图的攻略 以下为使用 canvas 绘制金字塔图的实现步骤: 步骤 1 – 创建 HTML 元素 创建 HTML5 页面,并添…

    Vue 2023年5月28日
    00
  • 基于Vue+Webpack拆分路由文件实现管理

    接下来我会为您详细讲解“基于Vue+Webpack拆分路由文件实现管理”的完整攻略。这个攻略主要分为以下几个步骤: 1. 安装和配置Webpack 首先,我们需要在本地安装Webpack和webpack-dev-server。可以通过执行下面的命令进行安装: npm install webpack webpack-cli webpack-dev-server…

    Vue 2023年5月28日
    00
  • Vue WatchEffect函数创建高级侦听器

    Vue的watchEffect函数是一个非常强大的 API。它允许您将一个函数作为响应式侦听器,而不必实例化一个新的Vue实例或单独定义一个侦听器回调函数。本文将从以下几个方面详细讲解watchEffect函数的使用: watchEffect函数的语法和用法 watchEffect函数的工作原理和使用场景 watchEffect函数的示例说明 语法和用法 w…

    Vue 2023年5月28日
    00
  • 你可能不知道的typescript实用小技巧

    作为 Typescript 常见的使用者,也许你已经对它的一些语法特性熟悉,但是,你可能不知道的 Typescript 实用小技巧可不止这些。接下来我将为你讲解一些不太为人所知的 Typescript 实用小技巧,希望能够对你的开发带来帮助。 1. 类型断言(Type Assertion) 类型断言是一种告诉编译器更确切的类型信息的方式,它可以强制类型检查器…

    Vue 2023年5月28日
    00
  • vue和js中实现模糊查询方式

    下面给出实现模糊查询方式的完整攻略。 一、实现原理 要想实现模糊查询,需要的是对输入的关键字进行处理,将其与数据源进行匹配。可以利用JS的字符串操作方法来进行模糊匹配,例如使用indexOf方法来判断一个字符串中是否含有某个子串,如果存在,则匹配成功,可以将其作为搜索结果之一。 在Vue中,我们可以利用计算属性来实现模糊查询的应用逻辑,当数据源或者输入的关键…

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