提问人:mohciniya 提问时间:4/22/2022 更新时间:4/22/2022 访问量:219
如何在输入中显示值并锁定输入?
How to display a value in an input and lock the input?
问:
在 HTML 表中,我检索字段的值。SOLDE
<div class="container" *ngIf="details">
<table class="table table-hover table-striped spaceLeft">
<tbody>
<tr>
<th>Solde</th>
<td>{{details[0].SOLDE}}</td>
</tr>
</tbody>
</table>
</div>
这是一张图片
除此之外,我必须检索输入中的 solde 值并锁定输入。
我试图创建一个表单并添加变量来检索值,但不幸的是它不起作用。SOLDE
<div class="card-body">
<form #formulaire="ngForm" (ngSubmit)="formulaire.form.valid ">
<div class="row row-cols-3 pt-3">
<div class="col text-end">
<label for="solde" class="form-label">Solde</label>
</div>
<div class="col-4">
<input
id="solde"
name="solde"
type="text"
class="form-control"
style="min-width: 380px"
maxlength="25"
[(ngModel)]="details[0].SOLDE"
/>
</div>
</div>
</form>
</div>
我收到一条错误消息:
Error TS2532: Object is possibly 'undefined'.
我认为问题就在这里——>?[(ngModel)]="details[0].SOLDE
请问如何从输入中检索值?
目前,component.ts 文件如下所示:
export class InternalTransfertWatchComponent implements OnInit, OnDestroy {
private unsubscribe$ = new Subject<void>();
details?: AdvTitres[] = [];
svm: string | null = null;
constructor(
private service: InternalTransfertWatchService,
private activatedRoute: ActivatedRoute,
private location: Location,
) { }
ngOnInit(): void {
this.svm = this.activatedRoute.snapshot.paramMap.get('svm');
if (!this.svm) {
this.goBack();
return;
}
this.getDetails();
}
ngOnDestroy(): void {
this.unsubscribe$.next();
this.unsubscribe$.complete();
}
private getDetails(): void {
this.service.getTransfert(this.svm!).pipe(
takeUntil(this.unsubscribe$)
).subscribe(res => {
if (res.RETURNCODE === ApiResponseCodeEnum.Ok) {
this.details = res.TRANS;
}
});
}
goBack(): void {
this.location.back();
}
}
感谢您的帮助。
答:
1赞
user17740968
4/22/2022
#1
对于您的错误,您可以使用此
[(ngModel)]="details[0]!.SOLDE"
若要锁定输入,请向其添加属性。disabled
现在,作为个人意见,如果您显示始终禁用的输入,则不需要输入,文本字段就可以了。
评论