vue 跳转之后返回上一级页面,回到原页面点击位置

列表数据跳转详情页返回定位实现思路

列表数据过多,点击其中某条数据跳转到详情页面。返回到数据列表页面,并回到点击的那条数据

实现思路
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>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值