我有一个应用程序,您可以在其中向数据库添加或编辑值。
我想这样做,以便当我将一个参数设置为任何内容(默认情况下为空(时,第二个参数将设置为特定值。
关于我实际要做的事情的进一步解释:
网页代码:
<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
的默认值为"宣布",只有Eta
具有指定的值(其他 3 个为空(。输入Ata
值后,我希望将StatusCodes
值自动设置为"inport"。
我猜 ngswitch 可以在这种情况下使用,但我不知道怎么做。在这种情况下,它的语法是什么?
如果有更好的方法来获得这种行为,请告诉我如何实现这一点。
我认为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;
}
}
它不是超级优雅的,但它是最容易更改和测试的(如果你要编写单元测试(。
我没有执行上面的代码,所以请记住,您可能需要对其进行一些调整。