在角10中面对这个问题
我的表格上有许多字段。当用户在下拉列表中更改所选值时,每个字段上都有一个hideExpression,根据用户所选内容显示/隐藏字段。这目前运作良好。
但是,我试图使下拉列表默认为select中的第一个选项。这也很好。
我的问题是,所有hideExpression逻辑都不是在加载屏幕时触发的。因此,select是正确的,但是与该选项一起的字段(应该显示)都是不可见的。如果我手动更改下拉值,则所有内容都将正确显示。是否有一种方法可以使hideExpression逻辑被启动,即使选择是通过代码被默认的?
页面默认为Option2。然而,无论何时选择Option2,都应该显示一个隐藏字段。因此,如果您将下拉列表更改为Option1,然后返回到Option2...you,则会看到隐藏字段。默认情况下,如果将下拉列表设置为某个值,则隐藏/显示逻辑似乎不会被启动。
注意到代码有点复杂,所以我不能在Plunkr中复制它
发布于 2020-09-04 07:37:32
尝试将hideExpresion放在.html中,而不是在(更改)函数中。
<div *ngIf="form.get('someSelect').value=='phone'>
<input formControlName="email">
</div>或在将valur交给您的表单后,将其包含在对setTimeout的changeSelects调用中
this.form=....
setTimeOut(()=>{
this.changeSomeSelect();
this.changeAnotherSelect();
})注:这是一个抽象的问题,我不知道这两个想法是否能帮助你
https://stackoverflow.com/questions/63732771
复制相似问题