在Angular 7中设置输入字段的值,可能为null

问题描述 投票:1回答:4

我正在使用以下命令将值放置在“输入”字段中。Setting values of input fields with Angular 6

<input matInput placeholder = "ProductName" [(ngModel)]="orderLine.productname">

但是,有时值可能为null。何时放置问号?下面,我们收到以下错误,有人如何在输入中放置可能为空的null值,还是不可能?

<input matInput placeholder = "ProductName" [(ngModel)]="orderLine?.productname">

[?。无法在[[orderLine?.productname = $ event]

列的赋值中使用运算符
angular typescript angular-material angular7
4个回答
1
投票

请把它分成两部分,因为这两部分是ngModel ::

[ngModel]="orderLine?.price" (ngModelChange)="orderLine.price = $event"

0
投票

您不能在ngModel双向绑定中使用?.,也许您可​​以使用三元运算符:

<input matInput placeholder = "Price" [(ngModel)]="orderLine? orderLine.price: null">

0
投票

我们不能以两种方式使用三元运算符?进行绑定

<input matInput placeholder = "Price" [(ngModel)]="orderLine?.price">

如果您的orderLine对象类似于下面的内容,则您不需要使用此运算符...

    orderLine= new OrderLine();

    class OrderLine {
         ...
         price: number;
         ...
    }

0
投票

您需要将双向绑定拆分为一个数据和一个事件绑定:-

[ngModel] = "orderLine?.price"
(ngModelChange) = "orderLine.price = $event"
© www.soinside.com 2019 - 2024. All rights reserved.