《前端》bootstrapTable 您所在的位置:网站首页 bootstraptable的简单使用 《前端》bootstrapTable

《前端》bootstrapTable

2023-03-11 12:16| 来源: 网络整理| 查看: 265

引入文件:

                   

用法:(充分利用 mounted() {} )

实现功能是在表格中添加按钮,实现触发事件并获取数据。

实现思路:

 依旧是table标签,把table标签放到vue的div中 columns(存放table的表头)和data(存放table的数据)放在data里面。在mounted() {}里写bootstrapTable,格式如下:

mounted() {         this.$nextTick(() => {             var $this = this             $('#docDateTable').bootstrapTable({                 // 其他配置选项                 columns: this.columns,//在这里获取列和数据                 data: this.data,             });

           // 写dom的触发方法

        })

    },

疑惑1:table里面方法怎么写进去?

在columns里面对应列中写formatter:function(value,row,index){

     // 在里面拼按钮字符串

}

这里有没有封装的方法?

疑惑2:table里面的按钮触发事件怎么写进去?

之前是拼接按钮的时候用onclick事件(如EditViewById()):

result += "";

现在不行,为什么不行?原理的东西还说不太出来、

解决:拼接按钮的时候,利用class或者id 用dom的方式写触发事件。(如红框)。

在 mounted() {} 里面bootstrapTable定义后面写触发方法。

           $(".operateBtn").on('click', function(value, row, index) {

                console.log($(this).attr('data-id'));

                alert($(this).attr('index'))

            })

疑惑3:怎么传值,获取table中的数据。

如黄圈中,通过属性值赋值的方式传值,在方法中通过 $(this).attr('data-id') 获取值。

完整代码示例:

var vm = new Vue({ el: '#app', data: { columns: [{ field: 'name', title: '工作令', }, { field: 'bl', title: '备料号', }, { field: 'operate', title: '操作', valign: 'middle', // formatter: actionFormatter, formatter: function(value, row, index) { // console.log("这一条记录:" + JSON.stringify(row)) // console.log("姓名:" + row.name) // console.log("所在城市:" + row.cityname) var result = ""; // result += "确定" result += ""; return result; }, }], data: [{ "name": "mary", "bl": "2324345", "XHpici": "女", "planPerson": "职称", "planNum": "riq", "taskName": "citynamedwd", "taskPerson": "Item 20", "qualityLevel": "$353450", "totalDemand": "女", "allocatedQuantity": "职称", }, { "name": "belle", "bl": "54534656", "XHpici": "", "planPerson": "佛山市", "planNum": "放的歌", "taskName": "vagrant", "taskPerson": "分阿尔法", "qualityLevel": "33353450", "totalDemand": "333", "allocatedQuantity": "发发火", }], }, watch: {}, mounted() { this.$nextTick(() => { var $this = this $('#docDateTable').bootstrapTable({ // url: queryUrl, //请求后台的URL(*) method: 'GET', //请求方式(*) sortable: false, //是否启用排序 sortOrder: "asc", //排序方式 singleSelect: true, //开启单选,想要获取被选中的行数据必须要有该参数 clickToSelect: true, //是否启用点击选中行 /* height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 */ showColumns: true, //是否显示所有的列 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) pageNumber: 1, //初始化加载第一页,默认第一页 pageSize: 5, //每页的记录行数(*) pageList: [10, 25, 50, 100], //可供选择的每页的行数(*) //得到查询的参数 queryParams: function(params) { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的 var query_params = { rows: params.limit, //页面大小 page: (params.offset / params.limit) + 1, //页码 sort: params.sort, //排序列名 sortOrder: params.order, //排位命令(desc,asc) //查询框中的参数传递给后台 search_kw: $('#search-keyword').val(), // 请求时向服务端传递的参数 }; return query_params; }, columns: this.columns, data: this.data, }); $(".operateBtn").on('click', function(value, row, index) { // console.log($(this)) console.log($(this).attr('data-id')); alert($(this).attr('index')) }) }) }, methods: {}, });


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有