html - 禁用在textarea中键入

标签 html angular typescript

我想在达到字数限制时禁止用户在文本区域中输入。但是用户应该能够在给定的限制内编辑文本。

我使用attr.disabled属性来禁止输入。但是,这只会阻止用户输入和编辑。我想做到这一点。

提前谢谢

最佳答案

demo将此放入组件以计算空间

check(){
    return this.test.split(" ").length-1;
    
  }
在HTML中
<textarea 
    [(ngModel)]="test"
    name=".."
    placeholder="..."
    [maxLength]="10+check()"
   >
</textarea>
如果您认为函数发生性能损失,请使用(keypress)方法并在component.ts中将属性创建为ex_length=0;
keypress(){
    this.ex_length=this.test.split(" ").length-1; 
}
在HTML中
<textarea 
    [(ngModel)]="test"
    name=".."
    placeholder="..."
    (keypress)="onkeypress()"
    [maxLength]="10+ex_length"
   >
</textarea> 
或以其他方式可以使用自定义管道Demo
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'max'
})
export class MaxPipe implements PipeTransform {

  transform(value: any): any {
    return 10 + value.split(" ").length-1;
  }

}
一个在HTML
<textarea 
    [(ngModel)]="test"
    name=".."
    placeholder="..."
    [maxLength]="test | max"
   >
</textarea> 

关于html - 禁用在textarea中键入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61675307/

相关文章:

javascript - 模块构建失败(来自./node_modules/postcss-loader/src/index.js): SyntaxError (2:14) Unknown word

typescript - typescript 中的 Bluebird 和 es6 promises

java - Angular 4从Spring Boot服务器下载文件

css - 如何制作 "Trickless"、基于 CSS 的跨平台相同列高?

Javascript鼠标事件问题

html - 最佳布局属性 CSS(例如菜单栏)

javascript - 使用 Google Apps 脚本在 Gmail 中内嵌图像

angular - 使用 Angular CLI 延迟加载应用程序主题样式

angular - Ngx-table angular2 swimlane com 编译问题

angular - 如何重用底层控件的验证器?