如果您可以将focus
函数添加到vaadin-combo-box
以通过编程方式聚焦它,那就太好了。
现在我使用comboBoxElement.$.input.focus()
但访问内部元素感觉不对,使用focus
函数它会表现得像一个“正常”的 HTMLElement。
好主意👍我会保持这个问题开放,以供我们团队内部进一步讨论。 实现很简单,但我们小心不要向我们的元素添加不必要的功能/属性。 从我们的 API 中弃用和删除函数总是很麻烦 😸
添加 API 应该不是问题,因为focus()
是原生 HTML 元素的一部分,因此已经包含在内。
我们可以使用<paper-input>
使用的相同方法,通过使宿主元素可聚焦并将focus
和blur
事件委托给内部<input>
元素。
@samiheikki这不是必需的——这是业务应用程序能够将焦点设置在输入控件上的要求:-)。
FWIW,这很容易通过直接使用输入来完成:
this.$.comboBox.$.input.focus()
但当然这是使用子组件(不安全),我不确定启用 shadow DOM 时这是否有效。
最有用的评论
好主意👍我会保持这个问题开放,以供我们团队内部进一步讨论。 实现很简单,但我们小心不要向我们的元素添加不必要的功能/属性。 从我们的 API 中弃用和删除函数总是很麻烦 😸