JavaScript

超轻量级php框架startmvc

vue el-table实现自定义表头

更新时间:2020-09-27 07:06:01 作者:startmvc
本文实例为大家分享了vueel-table实现自定义表头的具体代码,供大家参考,具体内容如下el-t

本文实例为大家分享了vue el-table实现自定义表头的具体代码,供大家参考,具体内容如下

el-table可以通过设置 Scoped slot 来实现自定义表头。

文档说明如下:

代码实现:


<template>
 <el-dialog
 width="50%"
 :visible.sync="isShow"
 :before-close="beforeClose"
 title="自定义设备类型属性">
 <div class="dialogDiv">
 <el-table 
 :data="tableData.filter(data => handleAdd || data.name.toLowerCase().includes(handleAdd.toLowerCase()))" 
 style="width: 100%" border>
 <el-table-column prop="code" 
 :label="$t('basicData.device.propDlg.code')">
 </el-table-column>
 <el-table-column prop="maxValue" 
 :label="$t('basicData.device.propDlg.maxValue')">
 </el-table-column>
 <el-table-column prop="minValue" 
 :label="$t('basicData.device.propDlg.minValue')">
 </el-table-column>
 <el-table-column prop="name" 
 :label="$t('basicData.device.propDlg.name')">
 </el-table-column>
 <el-table-column prop="valueType" 
 :label="$t('basicData.device.propDlg.valueType')">
 </el-table-column>
 <el-table-column prop="warning" 
 :label="$t('basicData.device.propDlg.warning')">
 </el-table-column>
 <el-table-column align="center" width="160px">
 <template slot="header" slot-scope="scope">
 <el-button v-model="handleAdd" 
 size="mini"
 type="success"
 circle plain
 icon="el-icon-plus"
 @click="handleAdd(scope.$index, scope.row)"> 
 </el-button>
 </template>
 <template slot-scope="scope">
 <el-button
 size="mini"
 type="primary"
 circle plain
 icon="el-icon-edit"
 @click="handleEdit(scope.$index, scope.row)">
 </el-button>
 <el-button
 size="mini"
 type="danger"
 circle plain
 icon="el-icon-delete"
 @click="handleDelete(scope.$index, scope.row)">
 </el-button>
 </template>
 </el-table-column>
 </el-table>
 </div>
 <span slot="footer">
 <el-button @click="cancel">{{ $t('common.cancel') }}</el-button>
 <el-button @click="confirm" type="primary">{{ $t('common.confirm') }}</el-button>
 </span>
 </el-dialog>
</template>

<script>
export default {
 data() {
 return {
 tableData: []
 }
 },
 methods: {
 // 添加
 handleAdd() {
 },
 // 编辑
 handleEdit(index, row) { 
 },
 // 删除
 handleDelete(index, row) {
 },
 cancel() {
 this.$emit("cancel")
 },
 confirm() {
 this.$emit("confirm", this.tableData)
 }
 }
};
</script>

<style lang="scss" scoped>
.dialogDiv {
 height: 300px;
 overflow: auto;
}
</style>

页面效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

vue el table自定义表头 vue table自定义表头 vue自定义表头