当前位置: 首页 > wzjs >正文

白云网站建设多少钱太原seo排名公司

白云网站建设多少钱,太原seo排名公司,培训方案怎么做,品牌网站如何建设文章目录 1. 原生 JavaScript 中(TypeScript)示例常见类型对应表 2. 在 React 中(使用 React.RefObject 和事件中访问)A. 使用 useRef 获取元素类型B. 在事件处理函数中C. 其他事件类型示例 3. 在 Vue 中(Vue 3 TypeS…

文章目录

  • 1. 原生 JavaScript 中(TypeScript)
    • 示例
    • 常见类型对应表
  • 2. 在 React 中(使用 React.RefObject 和事件中访问)
    • A. 使用 useRef 获取元素类型
    • B. 在事件处理函数中
    • C. 其他事件类型示例
  • 3. 在 Vue 中(Vue 3 + TypeScript)
    • A. 使用模板 ref 和 onMounted
    • B. 在事件中使用
  • 小结对比

在 TypeScript 中,为 DOM 元素定义类型是一个常见需求,不同场景(原生 JavaScript、React、Vue)下写法略有不同,下面为你详细列出:

1. 原生 JavaScript 中(TypeScript)

在 TypeScript 中操作原生 DOM 元素,常用类型来自 lib.dom.d.ts 中定义的类型,例如 HTMLInputElement, HTMLDivElement, HTMLElement 等。

示例

const input = document.querySelector('input') as HTMLInputElement;
input.value = 'Hello';

或更安全写法(避免 null):

const input = document.querySelector('input');
if (input instanceof HTMLInputElement) {input.value = 'Hello';
}

常见类型对应表

元素类型
<input>HTMLInputElement
<textarea>HTMLTextAreaElement
<select>HTMLSelectElement
<div>HTMLDivElement
<button>HTMLButtonElement
所有元素HTMLElement

2. 在 React 中(使用 React.RefObject 和事件中访问)

A. 使用 useRef 获取元素类型

import React, { useRef, useEffect } from 'react';const MyComponent: React.FC = () => {const inputRef = useRef<HTMLInputElement>(null);useEffect(() => {if (inputRef.current) {inputRef.current.focus();}}, []);return <input ref={inputRef} />;
};

B. 在事件处理函数中

const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {console.log(e.target.value);
};

C. 其他事件类型示例

事件类型类型名
onChange on inputReact.ChangeEvent<HTMLInputElement>
onClickReact.MouseEvent<HTMLElement>
onSubmit on formReact.FormEvent<HTMLFormElement>
onKeyDown on textareaReact.KeyboardEvent<HTMLTextAreaElement>

3. 在 Vue 中(Vue 3 + TypeScript)

A. 使用模板 ref 和 onMounted

<template><input ref="inputEl" />
</template><script lang="ts" setup>
import { ref, onMounted } from 'vue';const inputEl = ref<HTMLInputElement | null>(null);onMounted(() => {if (inputEl.value) {inputEl.value.focus();}
});
</script>

B. 在事件中使用

<template><input @input="handleInput" />
</template><script lang="ts" setup>
const handleInput = (e: Event) => {const target = e.target as HTMLInputElement;console.log(target.value);
};
</script>

小结对比

框架 / 场景写法方式类型示例
原生 JS + TSas HTMLInputElement / instanceofHTMLDivElement, HTMLInputElement
ReactuseRef<HTMLInputElement>()React.ChangeEvent<HTMLInputElement>
Vue`ref<HTMLInputElementnull>()`

文章转载自:

http://jppKvRFi.nqbkb.cn
http://arJrxTNv.nqbkb.cn
http://s3uTDVZd.nqbkb.cn
http://cx5Du0nP.nqbkb.cn
http://JkGWdWeF.nqbkb.cn
http://zoX98hs2.nqbkb.cn
http://UsMTODlF.nqbkb.cn
http://Dkq20wtm.nqbkb.cn
http://uEXLoh3w.nqbkb.cn
http://JQFDNDVi.nqbkb.cn
http://ZWUfiK6g.nqbkb.cn
http://5wyOPXLq.nqbkb.cn
http://qssZUxv8.nqbkb.cn
http://sOEKzWrC.nqbkb.cn
http://Ea2X2a2H.nqbkb.cn
http://WyW0ypjU.nqbkb.cn
http://IkPw4FfR.nqbkb.cn
http://J1XKdj7Y.nqbkb.cn
http://zahYnrBR.nqbkb.cn
http://o8hIozAj.nqbkb.cn
http://zLKCdnob.nqbkb.cn
http://qYhNn8T9.nqbkb.cn
http://8UCUZyfB.nqbkb.cn
http://7oqTw3g0.nqbkb.cn
http://g2auEh11.nqbkb.cn
http://ePzI8PME.nqbkb.cn
http://aGBFLucZ.nqbkb.cn
http://JyAmBgNR.nqbkb.cn
http://VaHjs6mu.nqbkb.cn
http://BWFX9ib3.nqbkb.cn
http://www.dtcms.com/wzjs/738431.html

相关文章:

  • 优秀品牌网站案例分析wordpress 页面模板不显示
  • 重庆网站建设方案书网络最有效的推广方法
  • 怎么做网站排版沂水网站设计
  • 12306网站 花了多少钱建设南山的网站设计
  • 创立网站成本响应式网站好还是自适应网站好
  • seo站内优化培训奢侈品商城网站建设
  • 无锡建设局评职称网站网站设计公司飞沐
  • app免费模板下载网站wordpress网站性能
  • 网站空间租用有哪些服务wordpress关闭主题提示
  • 哈尔滨手机网站建设价格wordpress如何把注册链接
  • app网站开发协议南充网站建设工作室
  • 字体设计类网站购物平台app
  • 网站备案阿里云流程wordpress分类树
  • 百顺网站建设php电商网站开发
  • 网站建设费用选网络专业网站 app建设开发合作协议
  • 聊城市 网站制作国外直播sdk
  • 读经典做临床报名网站免费建设网站的方法
  • 根据链接获取网站名称查询企业邮箱
  • 决定网站打开的速度吗潜江58同城
  • php做网站框架wordpress 主题 自定义
  • app 微网站外贸网站解决方案
  • 北京建设工程信息网站自贡网页制作
  • 鹤壁做网站多少钱做网站需要什么步骤
  • 企业网站建设开发有什么可以做兼职的网站
  • 网站建设SEO优化哪家好网站服务器错误怎么解决
  • 江苏省住房城乡建设厅网站首页织梦做的网站首页排版错误
  • 自适应网站设计尺寸h5魔塔
  • 广州做网站哪家好公司网站如何吸引
  • 网站开发属于什么软件wordpress标签筛选
  • 2021中文字幕入口网站微商城网站建设行情