BootStrap Table超好用的表格组件基础入门
右侧导航条有目录哟,看着更方便
- 快速入门
- 表格构建
- API简单介绍
- 主要研究功能介绍
快速入门
最好的资源官方文档
官方文档地址****https://bootstrap-table.com/docs/getting-started/introduction/
Bootstrap Table源码下载地址****https://github.com/wenzhixin/bootstrap-table/archive/master.zip
基本CSS<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.2/dist/bootstrap-table.min.css">
基本JS<script src="https://unpkg.com/bootstrap-table@1.15.2/dist/bootstrap-table.min.js"></script>
注意点:
百科定义:<!DOCTYPE> 声明必须位于 HTML5 文档中的第一行,也就是位于 标签之前。该标签告知浏览器文档所使用的HTML规范。
官方说明: Bootstrap Table需要使用HTML5 doctype。没有它,你会看到一些时髦的不完整造型
快速入门模板,按照这个模板导入文件就可以满足基本需求了
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Hello, Bootstrap Table!</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.2/dist/bootstrap-table.min.css">
</head>
<body>
<table data-toggle="table">
<thead>
<tr>
<th>Item ID</th>
<th>Item Name</th>
<th>Item Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Item 1</td>
<td>$1</td>
</tr>
<tr>
<td>2</td>
<td>Item 2</td>
<td>$2</td>
</tr>
</tbody>
</table>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.2/dist/bootstrap-table.min.js"></script>
</body>
</html>
表格的构建(自动生成表格的方式)
通过数据直接编写(没啥用)
<table data-toggle="table">
<thead>
<tr>
<th>Item ID</th>
<th>Item Name</th>
<th>Item Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Item 1</td>
<td>$1</td>
</tr>
<tr>
<td>2</td>
<td>Item 2</td>
<td>$2</td>
</tr>
</tbody>
</table>
通过数据接口(可以用) Bootstrap会根据数据和表头data-field自动填充表格
<table
data-toggle="table"
data-url="data1.json">
<thead>
<tr>
<th data-field="id">Item ID</th>
<th data-field="name">Item Name</th>
<th data-field="price">Item Price</th>
</tr>
</thead>
</table>
表格属性通过table内的属性设置(设置属性是Bootstrap Table应用的主要方式)
<table
data-toggle="table"
data-url="data1.json"
data-pagination="true"
data-search="true">
<thead>
<tr>
<th data-sortable="true" data-field="id">Item ID</th>
<th data-field="name">Item Name</th>
<th data-field="price">Item Price</th>
</tr>
</thead>
</table>
通过JavaScript构建(推荐)
<table id="table"></table>
$('#table').bootstrapTable({
url: 'data1.json',
pagination: true,
search: true,
columns: [{
field: 'id',
title: 'Item ID'
}, {
field: 'name',
title: 'Item Name'
}, {
field: 'price',
title: 'Item Price'
}]
})
表格的具体用法API
HTML书写 | js书写 | 含义 | 默认 | 例子 |
---|---|---|---|---|
data-toggle | toggle | 无需编写JavaScript即可激活引导表 | ‘table’ | https://examples.bootstrap-table.com/#welcomes/from-html.html |
data-height | height | 表的高度 | undefined | https://examples.bootstrap-table.com/#options/table-height.html |
data-classes | classes | 表的class属性,如果没有自己定义,则默认有边框,并且当鼠标悬浮在那一行,背景会变为浅灰色. | table table-hover | https://examples.bootstrap-table.com/#options/thead-classes.html |
太多了就不一一copy了,官方文档是最全的资料。实在看不懂网页翻译,Nothing is impossible
官网API地址https://bootstrap-table.com/docs/api/table-options/
官网实例地址https://examples.bootstrap-table.com/
主要研究功能介绍
1、固定列
需要导入文件
<link rel="stylesheet" src="extensions/fixed-columns/bootstrap-table-fixed-columns.css">
<script src="extensions/fixed-columns/bootstrap-table-fixed-columns.js"></script>
属性
属性 | 类型 | 默认值 | 介绍 |
---|---|---|---|
fixedNumber | Boolean | false | 是否打开固定列 |
fixedNumber | Number | 1 | 固定几列 |
该属性位于扩展中,有可能还不成熟,用的时候遇到了列错位问题
2、列可调整大小(就是列可拖动宽度)
需要导入文件
<script src="extensions/resizable/bootstrap-table-resizable.js"></script>
注意 使用这个插件需要依赖于另一个插件
Use Plugin: bootstrap-table-resizable Dependence: jquery-resizable-columns v0.2.3
属性 | 类型 | 默认值 | 介绍 | 例子 |
---|---|---|---|---|
resizable | Boolean | false | 是否打开列可拖动 | https://examples.bootstrap-table.com/#extensions/resizable.html |
This plugin does not work when data-height is set.
设置data-height时,此插件不起作用。
官网例子源码,点击官网例子左上角View可见
<link href="https://unpkg.com/jquery-resizable-columns@0.2.3/dist/jquery.resizableColumns.css" rel="stylesheet">
<link href="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.css" rel="stylesheet">
<script src="https://unpkg.com/jquery-resizable-columns@0.2.3/dist/jquery.resizableColumns.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.3/dist/extensions/resizable/bootstrap-table-resizable.min.js"></script>
<table id="table"
data-show-columns="true"
data-search="true"
data-show-toggle="true"
data-pagination="true"
data-url="json/data1.json"
data-resizable="true">
<thead>
<tr>
<th data-field="id" data-sortable="true">ID</th>
<th data-field="name" data-sortable="true">Item Name</th>
<th data-field="price" data-sortable="true">Item Price</th>
</tr>
</thead>
</table>
<script>
$(function() {
$('#table').bootstrapTable()
})
</script>
3、修改返回后返回原来分页页面(记住原来页面信息)Table Cookie
需要导入文件
<script src="extensions/cookie/bootstrap-table-cookie.js"></script>
属性 | 类型 | 默认值 | 介绍 |
---|---|---|---|
cookie | Boolean | false | 设置true保存表的状态(其分页位置,排序状态,每页记录) |