代码之家  ›  专栏  ›  技术社区  ›  Gargoyle

角度5选择强制字符串的选项值

  •  0
  • Gargoyle  · 技术社区  · 6 年前

    我定义了一个简单的 select 绑定到这样的变量:

    <select id="client" name="client" [(ngModel)]="order.clientId">
        <option *ngFor="let client of clients" [value]="client.id">
            {{ client.name }}
        </option>
    </select>
    

    以及 clients 是一个带有数字的简单类 id 价值观:

    export class NameAndId {
        id: number;
        name: string;
    
        constructor(id: number, name: string) {
            this.id = id;
            this.name = name;
        }
    }
    

    所以我希望这个值是一个数字,而不是字符串。以及 order.clientId 也定义为数字。但是,当我通过 order 对象通过 HttpClient 像这样在调用后,它将值编码为字符串:

    return this.http.post<HttpResponse<any>>(this.baseUrl, order, {observe: 'response'});
    

    为什么它不显示为数值?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Gabriel Lopez    6 年前

    尝试ngvalue而不是[value]

    Stackblitz Example