我正在阅读来自Reactjs的React文档。但它似乎不是为我想做的事情而工作。
我想渲染一个有嵌套div的组件。单击每个嵌套div后,它会变成一个输入。在特定div之外单击后,它将输入转换回div。
我想使用带有模糊/焦点的参考文件来实现这一点,但我似乎不知道如何让它工作。
这就是我的组件到目前为止的样子,它是一个子组件:
constructor(props) {
super(props);
this.textInput = React.createRef();
}
focusRef = () => {
this.textInput.current.focus();
}
focusEvent = () => {
console.log("focus event.");
}
render() {
let item = <div
className="item-class"
ref={this.textInput}
onFocus={this.showIt}
onClick={this.focusRef}>Item Name</div>
return(<div>{item}</div>)
}
查看react提供的示例代码。js。org,我想知道为什么没有onFocus事件。这不是必需的吗?当元素接收到焦点时,如何触发事件?在我的代码中,focusRef
被触发,但focusEvent
没有,这也是我无法理解的。其次,如何检测模糊/失焦,以便将输入切换回div?最后,我对在div和input之间交换一个元素的焦点/模糊事件如何处理渲染感到困惑,我是否需要在每次交换发生时重新渲染,也就是每次元素接收/失去焦点时重新渲染?这难道不需要在渲染之间保持元素的焦点(或缺少焦点)吗?
如果可能的话,我更喜欢不涉及钩子的解决方案。
为了使div
元素可聚焦,需要使其可交互。向div添加一个制表符索引,这样就可以赋予它焦点。
function App() {
return (
<div className="App">
<div
tabIndex={0}
onFocus={() => console.log('focus')}
onBlur={() => console.log('blur')}
>
Click or tab to me!
</div>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
rootElement
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.13.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.13.1/umd/react-dom.production.min.js"></script>
<div id="root"></div>
我是MongoDB的新手! 有人能帮助我如何编写java代码来转换下面的mongo聚合查询吗?目前,我正在一个具有“spring-boot-starter-data-mongob”作为依赖项的Spring Boot应用程序中编写它。我正在考虑使用Mongo模板使用下面的查询获取分组文档。
我试图实现一个非常简单的用例,一个UI特性,其中: null 这些建议和类似的建议都不起作用。我也试着愚弄一下反应,看看我能不能做点什么!我使用了真实的DOM: 而且也没用。我甚至无法理解的一件事是这样的建议:将ref作为一个方法(我“猜测”),我甚至没有尝试它,因为我有很多这样的组件,我需要ref来进一步获得每个组件的值,我无法想象如果我的ref没有命名,我如何获得的值! 所以你能给出一个想法,
问题内容: 我正在编写一个小型游戏,其中一个JFrame负责主游戏,另一个JFrame负责显示得分。问题是,当我完成构建它们时,分数JFrame总是最终集中精力!我试过调用scoreDisplay.toFront(),scoreDisplay.requestFocus(),甚至: 有什么办法可以使这项工作吗?预先感谢,约翰·穆拉诺 问题答案: 您是否考虑过将得分设置在与游戏框架相同的框架中? 其他
问题内容: 我正在尝试使用React refs在安装时聚焦Redux-Form字段。 当我尝试时,会抛出一个错误: 当我console.log this.refs时,它通常是一个空对象,有时将’title’标识为ref,但它不是可靠的。 我是否正确使用了引用?我的代码在下面供参考。 … 问题答案: 请尝试使用回调函数设置ref: 然后使用它来获取基础的DOM节点: DOM输入元素是否包装在另一个元
我正试图弄清楚如何使用Spring Batch进行聚合。例如,我有一个带有姓名列表的CSV文件: 我想要文本文件中的姓名计数: 根据我从Spring Batch中学到的,ETL批处理过程(itemReader- Spring Batch是正确的工具吗?还是我应该用Spark?谢谢
问题内容: 我需要将注意力集中在指定的窗口上,而我头上看到的唯一方法是将其前面的所有窗口最小化,直到找到正确的窗口为止。 我该怎么做? Windows 7,没有特定的工具包…。 每种类型的窗口,例如,firefox和控制台命令 问题答案: 您需要通过窗口枚举并匹配窗口标题才能获得所需的窗口。下面的代码搜索标题为“ firefox”的窗口并设置焦点: 为了最小化窗口,下面的行: