2016-02-29 7 views
1

Мне нужна кнопка «Выбрать все» для текстового поля. Он работает с этим кодом, но я получаю предупреждение от Dart2js:Метод Select() возвращает предупреждение

querySelector('#select-all-button').onClick.listen((e) { 
//e.preventDefault(); 
querySelector('#textarea-target').select(); 
}); 

Warning: No method named 'select' in class 'Element'. 
    querySelector('#textarea-target').select(); 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

Почему?

ответ

2

Обратный код querySelector() является dynamic AFAIR. Вы должны явно указать, какой тип анализатора это будет возвращать

(document.querySelector('textarea') as TextAreaElement).select(); 

Попробуйте на DartPad

+1

не динамический, Element. Но это интерпретируется как подкласс. –

+0

Немного сложнее JavaScript, но он работает. Благодарю. –

+0

Код будет работать отлично, но анализатор просто предупреждает вас о том, что тип возврата, объявленный 'querySelector()', не знает о методе 'select'. Вы можете смело игнорировать предупреждение. Если вы дадите анализатору информацию о том, что вы ожидаете «TextAreaElement», тогда он может предоставить полезные советы и улучшить автозаполнение дальше по вашему коду. –