使用Angular 4

时间:2019-01-24 02:55:53

标签: angular

我想为maxlength = 100建立指令,在我提交代码时,所有支持formControl和ngModule的maxlength都将设置为100。

 @Directive({
    selector: '[max-length]',
    providers: [NgModel]
    })
  
 export class MaxLengthDirective implements OnInit { 

  @Output() ngModelChange: EventEmitter<any> = new EventEmitter();
  @Input() limit: 100;


    constructor (private hostElement:ElementRef, private renderer:Renderer2) {

      }

    @HostListener("keypress", ["$event"])
      onkeypress(event) {
        if (event.target.value.length === this.limit) {
            event.preventDefault();
    }
  }

  ngOnInit () {

    const el = this.hostElement.nativeElement;
    if (el.input === Number)
    {
        this.renderer.setAttribute(this.hostElement.nativeElement, 'maxlength', '100');
    }
  }
  
}

这是我到目前为止尝试过的代码,我只是从堆栈溢出中学到了。

0 个答案:

没有答案