Vaadin-combo-box: 回归:在第一次打开抛出之前调用 render()

创建于 2019-03-11  ·  5评论  ·  资料来源: vaadin/vaadin-combo-box

描述

如果组合框尚未打开,则调用combobox.render()会抛出异常:

Cannot read property 'querySelectorAll' of undefined

这是发生的行:
https://github.com/vaadin/vaadin-combo-box/blob/41f870912bdd872e3376b090e863641928568a24/src/vaadin-combo-box-mixin.html#L276

预期结果

调用combobox.render()不会抛出

实际结果

错误被抛出

重现步骤

  1. 在页面中放置一个vaadin-combo-box元素。
  2. 分配渲染器,不要打开组合框
  3. 运行combobox.render()
bug good first issue

最有用的评论

在下拉菜单打开之前,实际项目仍不会被渲染,因此这不会调用任何渲染器。 从这个角度来看,除非_selector存在,否则不做任何事情是有意义的。

所有5条评论

注意:这是为dom-if版本报告的,但在disable-upgrade更改后应该仍然有效,因为_selector在第一次打开组合框之前也没有定义。

亲自讨论render()实际上可以调用_initDropdown ,如果在第一次打开组合框之前调用,因为它会触发用户可能期望的实际渲染。

在下拉菜单打开之前,实际项目仍不会被渲染,因此这不会调用任何渲染器。 从这个角度来看,除非_selector存在,否则不做任何事情是有意义的。

在#782 合并并且构建为绿色后,我将在最新的主版本上重新调整此修复程序,以使此修复程序也通过。

此修复程序现已包含在v4.2.6 中

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

davidmaxwaterman picture davidmaxwaterman  ·  6评论

joostdebruijn picture joostdebruijn  ·  6评论

osamamaruf picture osamamaruf  ·  4评论

web-padawan picture web-padawan  ·  3评论

mas4ivv picture mas4ivv  ·  16评论