列表数据过多,点击其中某条数据跳转到详情页面。返回到数据列表页面,并回到点击的那条数据
实现思路
1、在跳转之前获取到点击行的位置(下标)
2、返回后在页面加载时(列表数据加载完成后),获取点击行下标,计算高度赋值即可
具体
//使用sessionStorage存储实现
//默认下标
<el-table ref='eltableRef' :data='tableData'>内容</el-table>
<script setup>
const eltableRef = ref()
const tableData = ref([])
const scrollToRowNum = ref(0)
const handleView = (index) =>{ //table表格详情按钮 index:下标
scrollToRowNum.value = index
sessionStorage.setItemm('rowsNum',scrollToRowNum.value)
}
onMouned( ()=>{
//初始化 获取存储值
scrollToRowNum.value = sessionStorage.getItem('rowsNum') || 0
//默认列表数据已渲染完成
const tableRef = eltableRef.value.$el
//找到每一行的class:el-table__row,具体看自己定义的。
const rows = tableRef.querySelectorAll('.el-table__row')
//找到每一行的行高合成数组
const rowHeight = Array.from(rows).map(item =>{
return item.clientHeight
})
//将行高数组指定下标前的值相加,获得高度赋值后滚动到指定位置
const sum = rowHeight.slice(0,scrollToRowNum.value).reduce((a,b) => a + b, 0)
eltableRef.value.setScrollTop(sum)
})
</script>
列表数据跳转详情页返回定位实现思路
8560

被折叠的 条评论
为什么被折叠?



