组件拆分详细代码(二)02——Header标题组件 & 回车键的数字标识是13-e.keyCode === 13

本文介绍了React中创建Header组件的实现,包括输入框与回车键事件监听。当用户按下回车键时,组件会触发父组件的addTask方法,并清空输入框内容。此示例展示了React组件的状态管理和事件处理机制。

组件化拆分——Header标题组件 & 回车键的数字标识是13-e.keyCode === 13

src/views/Header.js


import React from 'react'

class Header extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      etitle: ''
    }
  }
  handleEtitle = (e) => {
    this.setState({
      etitle: e.target.value
    })
  }
  handleKeyup = (e) => {
    // 回车键的数字标识是13
    if (e.keyCode === 13) {
      // 按了回车键,添加任务,把任务名称传递到父组件即可
      this.props.addTask(this.state.etitle)
      // 清空表单
      this.setState({
        etitle: ''
      })
    }
  }
  render () {
    return (
      <div>
        <header className="header">
          <h1>土豆丝</h1>
          <input onKeyUp={this.handleKeyup} value={this.state.etitle} onChange={this.handleEtitle} className="new-todo" placeholder="你想做什么?" />
        </header>
      </div>
    )
  }
}

export default Header
### JavaScript 键盘事件 keyCode13、20 和 16 的用途和行为 在处理键盘事件时,`keyCode` 属性用于表示按下的键对应的数值。以下是关于 `keyCode` 值 13 (Enter)、20 (Caps Lock) 和 16 (Shift) 的具体说明: #### Enter 键 (`keyCode = 13`) 当用户按下回车键(Enter),浏览器会触发带有 `keyCode=13` 的键盘事件。此按键常用于提交表单或执行命令操作。 ```javascript document.addEventListener(&#39;keydown&#39;, function(event) { if (event.keyCode === 13) { console.log(&quot;Enter key pressed&quot;); } }); ``` #### Caps Lock 键 (`keyCode = 20`) Caps Lock 是切换大小写输入模式的功能键,在某些情况下可能会触发 `keyCode=20` 的事件。然而,由于这是一个锁定开关而非瞬态动作,实际应用中较少依赖该 `keyCode` 进行逻辑判断[^2]。 #### Shift 键 (`keyCode = 16`) Shift 键通常与其他字符组合使用来改变字母大小写或其他符号形式。它对应于 `keyCode=16`。开发人员可以监听这个按键状态以便实现特殊功能,比如多选框的选择扩展等功能。 ```javascript let shiftPressed = false; document.addEventListener(&#39;keydown&#39;, function(event) { if (event.keyCode === 16) { shiftPressed = true; console.log(&quot;Shift key pressed&quot;); } }); document.addEventListener(&#39;keyup&#39;, function(event) { if (event.keyCode === 16) { shiftPressed = false; console.log(&quot;Shift key released&quot;); } }); ``` 需要注意的是,现代 Web 开发推荐使用标准化的 `key` 属性而不是过时的 `keyCode` 来识别按键,因为后者已被废弃并可能在未来版本中移除支持。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值