vue表格表头添加按钮
2020-06-05 12:00 _天枢 阅读(4386) 评论(0) 编辑 收藏 举报实现以下效果:
vue-html
<el-table :data="users" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="index" label="序号" width="100"> </el-table-column> <el-table-column prop="p_id" label="项目ID" width="100" v-if="visible"> </el-table-column> </el-table-column> <el-table-column prop="p_name" label="项目名称" width="120" > </el-table-column> <el-table-column prop="p_status" label="状态" width="100" :formatter="formatStatus" > </el-table-column> <el-table-column prop="p_creator" label="创建人" width="100" > </el-table-column> <el-table-column prop="create_time" label="创建日期" width="120" :formatter="formatDateDMT" > </el-table-column> <el-table-column prop="p_desc" label="描述" min-width="180" > </el-table-column> <el-table-column label="操作" :render-header="renderHeader" width="150"> <template scope="scope"> <el-button type="warning" size="mini" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)" circle></el-button> <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDel(scope.$index, scope.row)" circle></el-button> </template> </el-table-column> </el-table>
下面实现表头增加按扭; 需要自定义渲染表头
// 表头操作栏按钮 renderHeader(h, params) { let a = [ h('el-button-group',[ // 文字提示 h('el-tooltip',{ props: { disabled: false, content: "增加测试用例", placement: "bottom", effect: "light" }, }, [ // 增加按钮 h('el-button', { props: { size: "mini", type: "primary", icon: "el-icon-add-location" }, on: { click: () => { this.renderAddRow(); } } }) ]), h('el-tooltip',{ props: { disabled: false, content: "全局变量", placement: "bottom", effect: "light" } }, [ // 全局变量按钮 h('el-button', { props: { size: "mini", type: "primary", icon: "el-icon-share" }, on: { click: () => { this.renderAddRow(); } } }), ]), h('el-tooltip',{ props: { disabled: false, content: "系统函数", placement: "bottom", effect: "light" } }, [ // 系统函数按钮 h('el-button', { props: { size: "mini", type: "primary", icon: "el-icon-share" }, on: { click: () => { this.renderAddRow(); } } }), ]), ]) ] return h('div', a); },
这里要解释的是h()这个相当于创建个虚拟的dom,执行时创建。
h('div', {}, [])可以有三个参数(标签,标签属性定义, 嵌套标签) 可省略
举例:
h('el-button-group',{}, [
h('el-button', {
type: "primary",
icon: "el-icon-edit",
}),
])
<el-button-group> <el-button type="primary" icon="el-icon-edit"></el-button> </el-button-group>
以上两个结果是相等的。
作 者:
天枢
出 处:
http://www.cnblogs.com/yhleng/
关于作者:专注于软件自动化测试领域。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者
直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角
【
推荐】
一下。您的鼓励是作者坚持原创和持续写作的最大动力!