在网上参考了很多有关的代码都是
this.$nextTick(()=>{
this.$nextTick(() => {
setTimeout(()=> {
this.$refs.xxx.resize();
}, 100)
})
})
但是如果第二层中有动态添加或者删除节点时候外层的collapse无法重新计算高度,会导致收缩框添加、删除的部分空白,查看了源码以后发现在uni-collapse-item这个组件中有一个强制更新视图的代码
this.$nextTick(() => {
this.init(true)
})
由此我发现一旦如要重新计算高度并渲染就需要使用这部分代码,在这个组件中暴露一个方法出来calculateheight(){
this.$nextTick(() => {
setTimeout(()=>{
this.init(true)
},200)
})
},
在使用这个组件的外面用ref去获取这个节点能拿到节点的情况下使用该方法渲染视图即可收缩
这样就可以非常丝滑的动态计算啦!!!!!!!!!!!!!!!!
一个非常坑的地方浪费十几个小时
3109

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



