Open NHZEX opened 4 months ago
https://github.com/tusen-ai/naive-ui/issues/5084#issuecomment-1645024037
ResizeObserver 这个,感觉在这里 使用 hook 的方式好一些吧。这样就不需要包裹无渲染组件,少一层组件实例。还能避免 data-v-* 的问题
function useReizeObserver(target: MaybeRef<HTMLElement | null>, handler: (p: Param) => void) : () => void {
const observer = new ResizeObserver(handler)
const stop = () => {
observer.disconnect()
}
watch(target, (t, o) => {
o && observer.unobserve(o)
t && observer.observe(t)
}, { imediate: true })
beforeUnmount(stop)
return stop
}
// 在 setup 里
useResizeObserver(wrapperRef, handleContainerResize)
如果狭义的来理解 第一个不应该叫hooks,因为没有响应式数据
模态窗拖动增强
参考: https://github.com/tusen-ai/naive-ui/issues/5501
方案一
方案二