Отключить набор текста в текстовом поле - PullRequest
6 голосов
/ 08 мая 2020

Я хочу запретить пользователю вводить текст в текстовом поле при достижении предела количества слов. Но пользователь должен иметь возможность редактировать текст в пределах заданного лимита.

Я использовал свойство attr.disabled, чтобы отключить ввод. Но это просто блокирует пользователя от ввода и редактирования. Я хочу сделать это в angular.

Заранее спасибо

1 Ответ

11 голосов
/ 08 мая 2020

демонстрация поместите это в компонент для подсчета пробелов

check(){
    return this.test.split(" ").length-1;

  }

в html

<textarea 
    [(ngModel)]="test"
    name=".."
    placeholder="..."
    [maxLength]="10+check()"
   >
</textarea>

Если вы считаете, что функция происходит с потерей производительности, используйте (keypress) метод и создать атрибут как ex_length=0;, затем в component.ts

keypress(){
    this.ex_length=this.test.split(" ").length-1; 
}

в html

<textarea 
    [(ngModel)]="test"
    name=".."
    placeholder="..."
    (keypress)="onkeypress()"
    [maxLength]="10+ex_length"
   >
</textarea> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...