watch: {
// 页面下沉
userInfoMsg(msgs) {
console.log('页面下沉');
this.$nextTick(() => {
console.log(this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0]);
let el = this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0];
console.log(el);
dom.scrollToElement(el, {});
});
this.userList.forEach(item => {
if (item.roomid == this.roomid) {
item.size = 0;
}
});
}
},

- 发布:2021-02-19 09:34
- 更新:2021-02-19 09:42
- 阅读:1518
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 19041。450
HBuilderX类型: 正式
HBuilderX版本号: 3.0.7
手机系统: Android
手机系统版本号: Android 8.0
手机厂商: 华为
手机机型: Honor 8 Lite
页面类型: nvue
打包方式: 离线
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://www.jiaxiangx.com/
示例代码:
操作步骤:
watch: {
// 页面下沉
userInfoMsg(msgs) {
console.log('页面下沉');
this.$nextTick(() => {
console.log(this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0]);
let el = this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0];
console.log(el);
dom.scrollToElement(el, {});
});
this.userList.forEach(item => {
if (item.roomid == this.roomid) {
item.size = 0;
}
});
}
},
watch: {
// 页面下沉
userInfoMsg(msgs) {
console.log('页面下沉');
this.$nextTick(() => {
console.log(this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0]);
let el = this.$refs[`refMsg${msgs[msgs.length - 1].id}`][0];
console.log(el);
dom.scrollToElement(el, {});
});
this.userList.forEach(item => {
if (item.roomid == this.roomid) {
item.size = 0;
}
});
}
},
预期结果:
收到新消息或者发消息 滚动到最新消息
收到新消息或者发消息 滚动到最新消息
实际结果:
不起效
不起效
bug描述:
仿微信聊天,发消息滚动到最新消息,使用 scrollToElement 失败 不起效, dom元素也可以获取到
1***@qq.com (作者)
我试了 还是没有起效
2021-02-19 09:47
突然好想你
回复 1***@qq.com: 我刚测试了我的,还是起效的,你可以试下加延时执行或者看看是否ref
的唯一性等
2021-02-19 09:52
1***@qq.com (作者)
回复 突然好想你: 我刚都试了一遍,数组里的每一项都是push 进去的,ref也就一个 然后就是不起效,心态都要崩了
2021-02-19 10:35
突然好想你
回复 1***@qq.com: 或者再看看是否滚动是通过list滚动的,如果是页面级的滚动里面嵌的list那也是无效的,我的测试了确实是生效的。如果实在不行,也可以考虑用scroll-view,或者等官方回复
2021-02-19 10:39
1***@qq.com (作者)
回复 突然好想你: 大佬 如何辨别list滚动和页面级滚动
2021-02-19 10:57
突然好想你
回复 1***@qq.com: https://uniapp.dcloud.io/component/list 禁用掉list滚动,如果页面还能滚动就是页面级滚动,如果不能滚动,则是list滚动
2021-02-19 11:10
1***@qq.com (作者)
回复 突然好想你: 了解 感谢大佬
2021-02-19 11:17
1***@qq.com (作者)
回复 突然好想你: 大佬 我给了list 固定高 禁用了滚动,只有第一次是滚动的 后面的都不起效了,输入的内容也不显示了
2021-02-19 11:32
突然好想你
回复 1***@qq.com: 每次得更换ref,比如这次跳转的是ref10,下次不能再跳到ref10得换过以后才行
2021-02-19 11:35
1***@qq.com (作者)
回复 突然好想你: 谢谢
2021-02-19 13:15