Element-UI 的 InfiniteScroll 为何在 infinite-scroll-immediate="false" 时仍触发加载方法?

Element-UI 的 InfiniteScroll 为何在 infinite-scroll-immediate="false" 时仍触发加载方法?

经过调试,发现这个 value 永远都是 true,但用户明明传递的是 false。

接着,用户查看了 vue 的源代码,发现对 domAttribute 有一段处理,其中提到 false 的值会被移除掉。

这导致 Element-ui 获取到的 value 永远是 NULL,最终取了默认值 true。

因此,问题在于 InfiniteScroll 的属性实际上是 DOM 的 attribute,而不是 props。而 Vue 会将属性转成字符附加到 DOM 上,导致 false 被转成了 ”,最终又被 DOM 转换为了 true。

虽然文档中将这些属性写出了类型,但由于其并非真正的 props,所以在使用时很容易被误认为是 props 而传入布尔值,从而出现上述问题。因此,可以将锅甩给 Element-UI 的文档说明不足。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容