bootstrap-table formatter 使用vue组件的方法
程序员文章站
2023-11-18 12:49:22
bootstrap-table简介
•1.1、bootstrap table简介及特征:
&nb...
bootstrap-table简介
•1.1、bootstrap table简介及特征:
bootstrap table是国人开发的一款基于 bootstrap 的 jquery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。目前在github上已经有2600多个star,可见其受欢迎程度。其官方网站地址 为:。里面可以下载使用所需的js和css文件,以及参考文档和例子。
•支持 bootstrap 3 和 bootstrap 2
•自适应界面
•固定表头
•非常丰富的配置参数
•直接通过标签使用
•显示/隐藏列
•显示/隐藏表头
•通过 ajax 获取 json 格式的数据
•支持排序
•格式化表格
•支持单选或者多选
•强大的分页功能
•支持卡片视图
•支持多语言
•支持插件
下面通过实例代码给大家介绍bootstrap-table formatter 使用vue组件的方法,具体代码如下所示:
import { subject } from "rxjs"; import vue from "vue"; export const bteventhub = new subject(); const vuecomlist = []; let vuecomid = 0; bteventhub.debouncetime(10) .filter(() => vuecomlist.length > 0) .delay(10) .subscribe(function() { const len = vuecomlist.length - 1; for (let i = len; i >= 0; i--) { const item = vuecomlist[i]; const dom = document.getelementbyid(item.name); if (dom != null) { new vue(item); vuecomlist.splice(i, 1); } } if (vuecomlist.length === 0) { vuecomid = 0; } }); export function btaddvuecom(obj: object) { const id = `_vue_com_${vuecomid++}`; vuecomlist.push({ el: "#" + id, name: id, ...obj }); settimeout(() => { bteventhub.next(); }, 0); return id; }
window["btaddvuecom"] = btaddvuecom; function colformatter1(value, row) { const id = window.btaddvuecom({ template: '<el-switch v-model="row.isshow"></el-switch>', data: function () { return { row } } }); return `<div id="${id}"></div>`; }
ps:vue 结合bootstrap table插件使用
bootstrap table插件可以很方便的搜索排序,方便快捷,下面是结合vue的完整的例子。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>vue bootstrap table demo</title> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css" rel="external nofollow" > <link rel="stylesheet" href="../plugins/bootstrap-table-develop/src/bootstrap-table.css" rel="external nofollow" > </head> <body class=""> <div> <table class="table table-bordered table-striped" id="tabletest1"> </table> </div> <script src="../jquery/jquery-2.1.4.min.js"></script> <script src="../dist/vue.js"></script> <script src="../plugins/bootstrap-table-develop/src/bootstrap-table.js"></script> <script src="../plugins/bootstrap-table-develop/src/locale/bootstrap-table-zh-cn.js"></script> <script> var app7 = new vue({ el: '#tabletest1', data: { //message: [], message: [], columns: [{ title: 'id', field: 'id' }, { field: 'name', title: 'item name' }, { field: 'url', title: 'url' }, { field: 'alex', title: 'alex' }, { field: 'country', title: 'country' } ], }, created() { //console.log(this.message) this.getdata(); this.intervalgetdata(); //console.log(this.message) }, methods: { intervalgetdata() { setinterval(() => { // $.get("selectbttable.php?action=init_data_list", data => { // var data = json.parse(data); // this.message = data; // $('#tabletest1').bootstraptable('load', this.message); // //console.log(json.parse(data)) // console.log("get data") // }) this.getdata(); }, 3000) }, getdata() { //es6 箭头函数的写法 // $.get("selectbttable.php?action=init_data_list", data => { // var data = json.parse(data); // this.message = data; // $('#tabletest1').bootstraptable('load', this.message); // console.log("init data") // }) var that = this; $.get("selectbttable.php?action=init_data_list", function(data) { var data = json.parse(data); that.message = data; $('#tabletest1').bootstraptable('load', that.message); console.log("init data") }) } }, mounted() { console.log(this.message + "mounted") $('#tabletest1').bootstraptable({ columns: this.columns, height: 500, search: true }); } }) </script> </body> </html>
(adsbygoogle = window.adsbygoogle || []).push({});
总结
以上所述是小编给大家介绍的bootstrap-table formatter 使用vue组件的方法,希望对大家有所帮助
上一篇: 社交平台之现状