¿Cómo habilitar/deshabilitar un botón en TypeScript 1.5?
typescript1.5 (1)
Usando VS 2013. Después de instalar TypeScript 1.5 y seguir la pregunta / sugerencia para actualizar:
"Su proyecto utiliza una versión de TypeScript anterior a la versión instalada actualmente con Visual Studio. Puede obtener errores si intenta compilar su proyecto. ¿Desea que actualicemos el TypeScriptToolsVersion en su archivo de proyecto para que no vea esta advertencia? ¿otra vez?"
Tengo un montón de errores como:
Error 39 Generación: la propiedad ''deshabilitada'' no existe en el tipo ''HTMLElement''.
en declaraciones como:
document.getElementById("btnExcel").disabled = false;
con ''deshabilitado'' rizado subrayado.
En https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes refiriéndose a la versión 1.5, dice: "Las propiedades en el tamaño, deshabilitado, ID única, removeNode, fireEvent, currentStyle, runtimeStyle se eliminan del tipo HTMLElement"
Ahora he reformulado esas declaraciones "erróneas" como esta:
document.getElementById("btnExcel").setAttribute(''disabled'', ''disabled'');
lo que a mi me parece raro.
¿Se puede expresar esto de una manera más elegante en TypeScript 1.5? ¿Puedes dar ejemplos para ambos: habilitar y deshabilitar?
¡Gracias por cualquier ayuda!
Debería haber una forma más limpia de hacer esto:
var element = <HTMLInputElement> document.getElementById("btnExcel");
element.disabled = true;
O si prefieres un forro:
(<HTMLInputElement> document.getElementById("btnExcel")).disabled = true;
Parece que getElementById
y similares deberían ser un método genérico y aceptar un parámetro de tipo. Dicho esto, un método genérico no le daría nada que el encasillado no lo haga.