我有一个应用程序,您可以在其中向数据库添加或编辑值。
我想这样做,当我将一个参数设置为任何东西时(默认为空),第二个参数设置为特定值。
进一步解释我实际上要做的事情:
HTML code:
<form class=form-group>
<td><label>Status Code</label></td>
<input type="text" #StatusCode (ngModel)="StatusCodes" value="{{StatusCodes}}">
</form>
<form class=form-group>
<td><label>Eta</label></td>
<input type="text" #Eta (ngModel)="Etas" value="{{Etas}}">
</form>
<form class=form-group>
<td><label>Etd</label></td>
<input type="text" #Etd (ngModel)="Etds" value="{{Etds}}">
</form>
<form class=form-group>
<td><label>Ata</label></td>
<input type="text" #Ata (ngModel)="Atas" value="{{Atas}}">
</form>
<form class=form-group>
<td><label>Atd</label></td>
<input type="text" #Atd (ngModel)="Atds" value="{{Atds}}">
</form>
StatusCodes
的默认值为&#34;已宣布&#34;并且只有Eta
具有指定值(其他3为空)。输入Ata
的值后,我希望将StatusCodes
值自动设置为&#34; inport&#34;。
我猜测ngswitch可以在这种情况下使用,但我不知道如何。 在这种情况下,它的语法是什么?
如果有更好的方法来解决这个问题,请告诉我如何实现这一目标。
答案 0 :(得分:2)
我不认为ngSwitch
会对您有所帮助,因为它基本上只是ngIf
的扩展 - 所以显示和隐藏DOM元素。到目前为止,最强大的选项是使用事件在TypeScript中显式处理它。
例如,像:
<form class=form-group>
<td><label>Status Code</label></td>
<input type="text" #StatusCode (ngModel)="StatusCodes" value="{{StatusCodes}}">
</form>
<form class=form-group>
<td><label>Eta</label></td>
<input type="text" #Eta (ngModel)="Etas" value="{{Etas}}">
</form>
<form class=form-group>
<td><label>Etd</label></td>
<input type="text" #Etd (ngModel)="Etds" value="{{Etds}}">
</form>
<form class=form-group>
<td><label>Ata</label></td>
<input type="text" #Ata (ngModel)="Atas" value="{{Atas}}" (change)="updateStatusCode('ata')">
</form>
<form class=form-group>
<td><label>Atd</label></td>
<input type="text" #Atd (ngModel)="Atds" value="{{Atds}}">
</form>
然后:
updateStatusCode(type) {
switch (type) {
case 'ata':
/* set status code */
this.StatusCodes = 'import';
break;
case 'atd':
/* etc */
break;
case 'eta':
/* etc */
break;
case 'etd':
/* etc */
break;
}
}
它不是超级优雅,但它最容易改变,最容易测试(如果你要编写单元测试)。
我还没有执行上面的代码,所以请记住,您可能需要稍微调整一下。