首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在lit-element中聚焦纸张输入

如何在lit-element中聚焦纸张输入
EN

Stack Overflow用户
提问于 2019-07-31 02:18:10
回答 2查看 905关注 0票数 3

我的页面上有一个<paper-input>元素,我希望在页面加载时选择该元素。我试着在页面第一次更新时聚焦它,但这并不起作用。

代码语言:javascript
复制
firstUpdated() {
    this.shadowRoot.querySelector('#input').focus();
}

The paper-input page建议设置tabindexinput.focus()工作所必需的,所以我也这样做了,但它没有工作。我还尝试了为this SO question推荐的关于聚合物中的paper-input的解决方案,但都没有奏效。

有没有办法在lit-element中聚焦paper-input

EN

回答 2

Stack Overflow用户

发布于 2020-11-08 17:08:30

我有一个我正在使用的技巧,我可能不会在生产中使用,但它也许可以作为灵感。

代码语言:javascript
复制
focusDescription() {
    let descriptionElement = this.shadowRoot.getElementById("description") as any
    let descriptionInputElement = descriptionElement.inputElement.children[0]
    descriptionInputElement.inputElement.children[0].focus()
}
票数 0
EN

Stack Overflow用户

发布于 2021-04-30 23:45:45

使用ref获取对元素的引用,然后使用该引用设置焦点:

代码语言:javascript
复制
inputRef: Ref<PaperInputElement> = createRef();
​
render() {
    return html`<paper-input ${ref(this.inputRef)}></paper-input>`;
}
​
firstUpdated() {
    this.inputRef.value.focus();
}

请注意,如果您使用<paper-dialog>,则聚合物的autofocus将无法工作,因为它依赖于聚合物的阴影DOM填充物并打破对焦捕捉,请参阅https://github.com/PolymerElements/iron-overlay-behavior/issues/282

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57277809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档