如下图 表格有选中项后动态渲染表头
第二张图上面的操作,最好放在表上面吧,那有你这样的需求呢。
是使用的什么样的前端框架 antd 还是 eleui
配columns就好了.
建议将勾选的内容放到vue的data里,然后按钮对这些选中的消息进行处理。
提供一个思路,图2的表头写一个div,定位到表的表头位置,每当有选中项的时候出现,操作完成或者取消选中后消失。这样写可能会简单点
你的意思是选中几个之后表头变为删除、下架的按钮,就是第二张图的效果?不建议这样做,如果非得这样只能,动态改变columns也就是,checkbox有选中时,让其他columns的title都为空,就让第一个有值(使用slot实现)。
//伪代码
let columns=[
{
title:"日期",
dataIndex:"date"
},
{
title:"数量",
dataIndex:"num"
}
]
if(selectIndex.length>0){ //selectIndex是表格选中的项的id(唯一标识不是id也可以)
columns.map((item,index)=>{
if(index==0){
item.title="<button>下载<button><button>删除<button>" //不一定这样写必须使用slot实现,这个只是个思路
}
item.title="";
})
}
//操作完再恢复回去
columns[0].title="日期"; //如果columns时从接口获取到,动态渲染也可以先备份一下
//伪代码2
let columns=[ //如果从是从接口获取的,每一项不确定时什么先备份一下
{
title:"日期",
dataIndex:"date"
},
{
title:"数量",
dataIndex:"num"
}
]
let copyCoulmns=JSON.stringfly(columns); //不一定备份也可以是一个变量 let title=columns[0].title
if(selectIndex.length>0){ //selectIndex是表格选中的项的id(唯一标识不是id也可以)
columns.map((item,index)=>{
if(index==0){
item.title="<button>下载<button><button>删除<button>" //不一定这样写必须使用slot实现,这个只是个思路
}
item.title="";
})
}
//操作完再恢复回去
columns[0].title=JSON.parse(copyColumns)[0]; //也可以是columns[0].title=title上面定义的变量
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y