2017-02-04 1 views
1

Использование angular2 и angular2-материал с следующей схемой:Программным фокус и выбрать angular2 материала ввод дизайн

<form #userForm="ngForm" style="background-color: rgba(209,216,239,0.29)" layout-padding="20px"> 
     <div layout="row" layout-margin> 
      <md-input-container flex> 
      <input md-input 
        #eAccountName 
        #cAccountName="ngModel" 
        type="text" 
        placeholder="Account Name" 
        [(ngModel)]="accountName" 
        name="accountname" 
        maxlength="50" 
        [disabled]="!isEditable" 
        required> 
      </md-input-container> 
     </div> 
</form> 

Как программно сосредоточиться это (или любой другой) входной элемент? Если возможно, я также хотел бы выбрать содержимое текстового поля после его фокусировки.

Спасибо.

+0

HTTP: // stackoverflow.com/questions/34522306/angular-2-focus-on-newly-added-input-element –

+0

Гюнтер - спасибо, но нет. Аналогичный код, который я пробовал, не работает в моем случае. Это может иметь какое-то отношение к угловому2-материалу. Я ищу решение, которое работает с этой структурой. – CCPony

+0

Я не понимаю, почему было бы иначе –

ответ

0

Вы можете использовать метод фокусировки от мкр-компонент ввода, как показано в документации

https://material.angular.io/components/input/api

<span (click)="myinput.focus()">Focus it!</span> 
<md-input-container class="example-full-width"> 
    <input mdInput #myinput> 
</md-input-container> 

Чтобы сосредоточиться внутри класса:

export class AppComponent { 
    @ViewChild('myinput') articleInput; 
    someMethod() { 
     this.articleInput.nativeElement.focus(); 
    } 
} 
Смежные вопросы