打字稿在valueAsDate上抛出错误

时间:2016-11-03 18:55:38

标签: javascript typescript

我有以下Javascript代码:

var now = new Date();
now.setDate(now.getDate() + 7);
document.getElementById('txtCreateGroupExpirationDate').valueAsDate = now;

当我将此代码抛出到TypeScript文件中时,TypeScript会抱怨以下错误:

  

属性' valueAsDate'类型' HTMLElement'

上不存在

我的Javascript工作正常,valueAsDate是合法属性,由Mozilla Developer Network定义。此外,您可以看到此属性在Microsoft Typescript Core

中定义

那我为什么会收到此错误?我正在使用Typescript 2.0。

1 个答案:

答案 0 :(得分:2)

valueAsDate仅在HTMLInputElement上受支持,而且TypeScript不知道txtCreateGroupExpirationDate是什么类型的元素。使用类型断言来更改表达式的类型:

(<HTMLInputElement>document.getElementById('txtCreateGroupExpirationDate')).valueAsDate = now;