错误:属性'选择'在HTMLElement类型中不存在

时间:2018-04-19 01:58:37

标签: javascript typescript visual-studio-code

no error local demo

vscode complains error

 function copy(){
        var Url=document.getElementById("Id");
        Url.select(); //error
        document.execCommand("Copy"); // browser copy
        }

如上所述。我试图在浏览器中创建一个复制文本的功能。但是出现了标题错误 在打字稿中。 select()是有效的我认为(link),因为我可以在演示中使用它时正确复制。 我的ts版本是2.8.1

3 个答案:

答案 0 :(得分:27)

您需要添加type assertion

Access-Control-Allow-Credentials: true

的原因

contains(Point point) 可以返回任何var Url = document.getElementById("Id") as HTMLInputElement; Url.select(); // OK 个。在你的情况下你知道它的输入元素,所以你可以通过使用类型断言来告诉TypeScript。

答案 1 :(得分:2)

select方法是为HTMLInputElement定义的。以下将消除TypeScript错误。

let Url: HTMLInputElement = document.getElementById("Id") as HTMLInputElement;
Url.select();
document.execCommand("Copy");

答案 2 :(得分:0)

你需要指定元素的正确类型,因为 React 认为它只是一个 HTMLElement 而不是 HTMLInputElement。

所以,改变它!

var Url=document.getElementById("Id") as HTMLInputElement;