uni-app获取元素具体位置获取失败

场景:想要通过链接跳转传递catid&catid2类别id,商品类别id 跳到这一页左侧对应的类别栏上面,同时跳到右侧列表滚动到对应商品那一块区域。

遇到的问题:在for循环中通过绑定id获取不到商品列表的具体位置。

原因:在onReady函数和mounted函数中没有获取到接口返回的数据,所以id那会还没渲染上。

解决方法:id换成ref,在接口返回成功的then函数中,使用$nextTick函数获取元素。

在for循环绑定ref的时候,获取ref需要加上[0]

复制代码
then(() => {
	 if (this.secondId2) {
	  this.$nextTick(() => {
	      let cid = this.secondId2
	      const node = this.$refs[cid][0]
	      this.scrollTop = node.$el.offsetTop
	  })
  }
}) 
相关推荐
3秒一个大2 分钟前
HTML5 与 JavaScript 中的二进制数据处理:ArrayBuffer 与 TextEncoder/Decoder 实践
javascript
purpleseashell_Lili17 分钟前
如何学习 AG-UI 和 CopilotKit
javascript·typescript·react
行云流水62617 分钟前
前端树形结构实现勾选,半勾选,取消勾选。
前端·算法
diudiu_3328 分钟前
web漏洞--认证缺陷
java·前端·网络
阿珊和她的猫1 小时前
<video>` 和 `<audio>` 标签的常用属性解析
前端
LSL666_1 小时前
4 jQuery、JavaScript 作用域、闭包与 DOM 事件绑定
前端·javascript·html
yinuo2 小时前
前端跨页面通讯终极指南⑤:window.name 用法全解析
前端
小飞侠在吗2 小时前
vue computed 和 watch
前端·javascript·vue.js
yinuo2 小时前
前端跨页面通讯终极指南④:MessageChannel 用法全解析
前端
诸葛老刘2 小时前
next.js 框架中的约定的特殊参数名称
开发语言·javascript·ecmascript