当前位置: 首页 > 知识库问答 >
问题:

无法在Primereact中的下拉组件上设置焦点

丌官盛
2023-03-14

我试图设置专注于“下拉”组件,但焦点不是“下拉”组件。

我使用了中给出的自动对焦属性https://www.primefaces.org/primereact/#/dropdown.然后我尝试使用react ref设置焦点。

https://codesandbox.io/s/dropdownautofocus-jko5d

共有1个答案

谭昱
2023-03-14

专注于PrimeReact的Dropdown可以使用DOM querySelector()方法以编程方式设置。例如:

>

  • 下拉列表中添加id

     <Dropdown id="dropdown" ... />
    
     <Button onClick={onButtonClick} label="Set the focus" />
    

    onButton点击函数中使用querySelector方法查找并关注Dropdown输入元素

    const onButtonClick = () => {
       document.querySelector('#dropdown input').focus();
    };
    

  •  类似资料:
    • 我已经看到了一些解决这个问题的繁重解决方案,在React中使用ref或事件处理程序。我想知道样式化组件中是否有解决方案。 下面的代码显然不正确。当输入子组件具有焦点时,我正在尝试找出设置父组件样式的最简单方法。这是否可以使用样式化组件? 实现这一点的最佳方法是什么,特别是考虑到样式化组件,即使这意味着依赖上面提到的React方法之一?

    • 是否可以将焦点从更改为? 我尝试了以下方法: 但它不起作用。按Tab键或Enter键时,光标消失。

    • 我有一个EditText-Field,并为它设置了一个OnFocusChangeListener。当它失去焦点时,将调用一个方法,该方法用数据库中的EditText检查EditText的值。如果方法的return-value为true,则显示一个toast并且焦点应该再次回到EditText上。焦点应该总是回到EditText上,键盘应该显示,直到方法的return-value为false。 ed

    • 我应该让我的组件“受控”吗?什么是“最佳实践”?

    • 问题内容: 我让我的游戏在没有鼠标的情况下运行,因此不能使用指针。当玩家输球时将显示高分菜单。 这是我的代码 我努力了 但仍然没有专注于我的。 如何聚焦呢? 问题答案: 如果希望在GUI显示时集中精力,可以使用以下方法: 哪里会是你和你的。

    • 问题内容: 我正在尝试从dataTable内部的graphicImage更新一个dataTable。我尝试了很多f:ajax渲染值的组合,但是都没有成功,现在我使用的是PrimeFaces的p:component函数,但是之前遇到了相同的错误。我在浏览器中收到此错误: f:ajax包含未知ID’j_idt690:painelTabelaAPDespesa’-无法在组件j_idt735的上下文中找到