弹框使用的是kendo-window,没有找到最大化、高度变化时能调用的接口,所以只能通过监控弹框的高度来动态修改table的滚动条的y值
找度娘问了好久也没有能在ts文件中监控一个变量的方法,angular的高版本已经放弃了$watch这种方法。后来灵机一动,想到了angular表单中的input标签可以通过ngModelChange方法监控绑定值的变化,于是:
<form nz-form [formGroup]="validateForm">
<div nz-col [nzMd]="5" [nzSm]="4" [nzXs]="12">
<nz-form-item>
<nz-form-control [nzSpan]="24">
<input style="visibility: hidden;" formControlName="height" [ngModel]="container.element.nativeElement.nextElementSibling.offsetHeight" (ngModelChange)="containerHeightChange($event)" />
</nz-form-control>
</nz-form-item>
</div>
</div>
</form>
这里有几个要点:
1.想要实现这种用法必须使用表单form
2.不管要监控的变量的链有多长都要全部写出来,为了实现功能不得不放弃一些简洁
3.要将input标签隐藏
修改Scroll.Y的方法可以看这个链接,转载来的,写的很细致