【发布时间】:2023-02-13 21:48:22
【问题描述】:
我正在使用自定义库,我需要在其中手动设置光标选择。这是我输入的代码:
import React, { useState } from 'react';
import { useDrag } from 'react-dnd'
import { Validation } from "../types";
...
<input
ref={forwardRef}
id={id}
type={type}
placeholder={placeholder}
value={value}
onChange={onChange}
onKeyDown={onKeyDown}
onBlur={onBlur}
name={name}
disabled={disabled}
className={`fb-form-control goggo ${validation?.type}`}
checked={!!checked}
draggable={true}
onDragStart={(event) => event.preventDefault()}
onMouseEnter={()=>console.error("onMouseEnter", "onMouseEnter")}
onMouseLeave={() => console.error("onMouseLeave", "onMouseLeave")}
onDoubleClick={() => console.error("I have been double clicked!")}
/>
我需要将 () => console.error("I have been double clicked!") 替换为对将选择输入文本的函数的调用。此代码:onDoubleClick={() => console.error("this", document.getElementById(String(id))?.select())} 导致“TS2551: Property 'select' does not exist on type 'HTMLElement'. Did you mean 'onselect'?”
【问题讨论】:
-
你试过
onDoubleClick={() => (document.getElementById(String(id)) as HTMLInputElement)?.select()}了吗?
标签: reactjs