Element

2024-10-24 21:06:46 编辑:抖狐科技 来源:摘自互联网

element-ui infinitescroll 为何触发 load 方法?

Element-ui InfiniteScroll 是否存在 Bug?

在使用 指令时遇到问题,尽管设置了 infinite-scroll-immediate 为 false,但仍然触发了 load 方法。经过源码调试,发现问题出现在 Element-ui 源码中。

Element-ui 从 DOM 中获取属性值时,会将其转换为空字符串或 null。但是,Vue 在处理绑定属性时,会默认将 false 转换为 null,而 Element-ui 却将 null 视为 true。这导致 InfiniteScroll 指令始终触发 load 方法。

虽然存在这种情况,但不能完全归咎于 Element-ui。原因如下:

  • InfiniteScroll 是指令,非 Props: InfiniteScroll 属性实际上是附加到元素的 DOM 属性,而不是 Vue 组件的 Props。DOM 属性都是字符串,不存在布尔类型。
  • Vue 将 false 转换为 null: Vue 默认将 false 转换为 null,因此 :infinite-scroll-immediate="false" 会绑定 null 到 DOM 属性。
  • InfiniteScroll 将 null 视为 true: Element-ui 对 DOM 属性的处理未考虑到此情况,将 null 视为 true。

综合以上因素,这种情况既不能完全归咎于 Element-ui,也不能完全归咎于 Vue。但 Element-ui 缺少明确的文档说明可能会导致用户困惑。因此,建议 Element-ui 在文档中明确说明 InfiniteScroll 属性的绑定方式,以避免此类问题。

以上就是Element-ui InfiniteScroll 为何触发 load 方法?的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢