elementui,setCurrentRow()取消高亮行失效,原因是?
问题描述:
同时设置了父行的固定列和展开行,
预期效果:
点击父行(看着像父行),父行高亮,取消子行高亮;
点击子行,子行高亮,取消父行高亮;
实际效果:
如果只设置展开行,不设置固定列,可以实现预期效果;
如果同时再设置固定列,点击父行,父行高亮,setCurrentRow()失效,不能取消子行高亮;
补充,
设置固定列后,elementui复制了一份table,其中ref也重名了,
结论
elementui设置固定列后,
1.不适合展开行的高亮操作,
2.不适合拖拽插件sortablejs的使用,
老弟,这是Element UI Table组件的一个已知问题。当同时使用了固定列和展开行时,setCurrentRow()方法会失效。
这是因为:
rowKey(row) {
return row.id + (row.expand ? '-expand' : '')
}
这会为展开行生成rowKey如"12-expand",而父行rowKey为"12"。那么setCurrentRow()就可以准确定位到展开行实现取消高亮。
望采纳!