GitHubで閲覧
Webpack
webpackを使ってプロジェクトにBootstrap Table Vueコンポーネントを使用する方法を学びましょう。
JavaScriptのインポート
この行をアプリケーションのエントリポイント(通常はindex.js
またはapp.js
)に追加することで、Bootstrap TableのJavaScriptをインポートします。
import 'bootstrap-table'
もちろん、必要なテーマ、ロケール、または拡張機能をインポートすることもできます。
// import theme
import 'bootstrap-table/dist/themes/materialize/bootstrap-table-materialize.min.js'
// import locale
import 'bootstrap-table/dist/locale/bootstrap-table-zh-CN.min.js'
// import extension and dependencies
import 'tableexport.jquery.plugin'
import 'bootstrap-table/dist/extensions/export/bootstrap-table-export.min.js'
デフォルトでは、Bootstrap TableはjQuery、Bootstrap、Popperに依存しています。これらはpeerDependenciesとして定義されています。つまり、npm install --save jquery bootstrap popper.js
を使用して、それらを両方ともpackage.json
に追加する必要があります。
CSSのインポート
この行をアプリケーションのエントリポイントに追加することで、Bootstrap TableのCSSをインポートします。
import 'bootstrap-table/dist/bootstrap-table.min.css'
もちろん、必要なテーマや拡張機能をインポートすることもできます。
// import theme
import 'bootstrap-table/dist/themes/materialize/bootstrap-table-materialize.min.css'
// import extension
import 'bootstrap-table/dist/extensions/fixed-columns/bootstrap-table-fixed-columns.min.css'
使い方
<template>
<BootstrapTable
:columns="columns"
:data="data"
:options="options"
/>
</template>
<script>
import BootstrapTable from 'bootstrap-table/dist/bootstrap-table-vue.js'
export default {
components: {
BootstrapTable
},
data () {
return {
columns: [
{
title: 'Item ID',
field: 'id'
},
{
field: 'name',
title: 'Item Name'
},
{
field: 'price',
title: 'Item Price'
}
],
data: [
{
id: 1,
name: 'Item 1',
price: '$1'
}
],
options: {
search: true,
showColumns: true
}
}
}
}
</script>
スターターテンプレート
bootstrap-table-exampleプロジェクトにはvue-starterの例があります。
plugins/jquery.js
import jQuery from 'jquery'
window.jQuery = jQuery
plugins/table.js
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap-table/dist/bootstrap-table.min.css'
import './jquery.js'
import Vue from 'vue'
import 'bootstrap'
import 'bootstrap-table/dist/bootstrap-table.js'
import BootstrapTable from 'bootstrap-table/dist/bootstrap-table-vue.esm.js'
Vue.component('BootstrapTable', BootstrapTable)
main.js
import './plugins/table.js'
View.vue
<template>
<BootstrapTable :columns="columns" :data="data" :options="options"></BootstrapTable>
</template>
<script>
export default {
data () {
return {
columns: [
{
title: 'Item ID',
field: 'id'
},
{
field: 'name',
title: 'Item Name'
}, {
field: 'price',
title: 'Item Price'
}
],
data: [
{
id: 1,
name: 'Item 1',
price: '$1'
},
{
id: 2,
name: 'Item 2',
price: '$2'
},
{
id: 3,
name: 'Item 3',
price: '$3'
},
{
id: 4,
name: 'Item 4',
price: '$4'
},
{
id: 5,
name: 'Item 5',
price: '$5'
}
],
options: {
search: true,
showColumns: true
}
}
}
}
</script>