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项目中使用pinyin转换插件方式

    以下是使用pinyin转换插件在vue项目中的详细步骤: 步骤1:安装pinyin转换插件 在vue项目的命令行终端,使用npm或yarn等包管理工具安装pinyin插件,命令如下: npm install pinyin –save 或 yarn add pinyin 步骤2:在vue组件中引入pinyin插件及相关依赖 在需要使用pinyin转换的vue…

    Vue 2023年5月28日
    00
  • Vue自定义指令深入探讨实现

    Vue自定义指令深入探讨实现 什么是Vue自定义指令 Vue自定义指令是Vue框架中的一项重要功能,可以通过它对DOM元素进行自定义操作。Vue的内置指令有很多种,比如v-if、v-for、v-bind等等。而自定义指令则提供了更加灵活的操作方式。 Vue自定义指令实现 Vue提供的自定义指令实现方式非常简单。我们只需要使用Vue.directive()方法…

    Vue 2023年5月28日
    00
  • vue微信分享 vue实现当前页面分享其他页面

    针对”vue微信分享 vue实现当前页面分享其他页面”这一话题,我提供以下的完整攻略: 1. 微信分享的原理 微信分享的原理是通过wx.config和wx.ready两个JS-SDK函数的设置,将需要分享的内容传递给微信服务器,生成分享链接。生成的分享链接是根据当前页面的URL生成的,因此我们需要在不同页面上对应不同的分享信息进行设置。 2. 配置微信 JS…

    Vue 2023年5月27日
    00
  • Vue.js每天必学之内部响应式原理探究

    Vue.js每天必学之内部响应式原理探究 前言 Vue.js是一款前端框架,拥有许多优秀的特性,如组件化、响应式等,其中响应式即是Vue.js最为核心的部分之一。本文主要讲解Vue.js的响应式原理、数据双向绑定、getter与setter等内容。 Vue.js响应式原理 Vue.js的响应式原理包含以下步骤:1. 创建一个Vue实例。2. 在Vue实例中设…

    Vue 2023年5月28日
    00
  • vue里的axios如何获取本地json数据

    要在Vue中使用Axios读取本地JSON文件,需要按照以下步骤进行操作: 安装Axios 在Vue项目中使用Axios,需要安装Axios。可在终端中执行以下命令进行安装: npm install axios –save 创建JSON文件 在src/assets目录中创建名为data.json的文件,并写入以下内容: { "name"…

    Vue 2023年5月28日
    00
  • ant-design-vue 时间选择器赋值默认时间的操作

    背景介绍 ant-design-vue 是一个基于 Ant Design 设计体系的 Vue UI 组件库,并且内置了丰富的组件和样式,提供了良好的使用体验和开发效率。其中时间选择器是常用的组件之一,需要注意的是,在使用时间选择器时,有时候需要设置默认日期,本文将详细介绍如何在 ant-design-vue 中设置时间选择器的默认日期。 操作步骤 步骤一:在…

    Vue 2023年5月29日
    00
  • vue-cli3访问public文件夹静态资源报错的解决方式

    当我们使用Vue.js进行项目开发时,通常需要访问public文件夹中存放的一些静态资源,例如图片、音视频等。但是,有时我们在进行开发时可能会遇到访问public文件夹静态资源时报错的情况,如何解决呢?本文将为你详细讲解。 问题分析 在vue-cli3中,开发环境下引用相对路径的静态资源是没有问题的,但是当我们使用build之后的代码时,引用相对路径的静态资…

    Vue 2023年5月28日
    00
  • vue添加axios,并且指定baseurl的方法

    下面为你详细讲解“Vue添加Axios,并且指定BaseURL的方法”: 1. 安装 Axios 我们需要先安装 Axios 库,可以通过 npm 安装,命令如下: npm install axios –save 2. 引入 Axios 安装完成后,我们需要先引入 Axios 库,建议在 main.js 中引入,然后在 Vue.prototype 上挂载 …

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