【问题标题】:select option default value of null is translated as string "null" when submitting form提交表单时选择选项默认值 null 被翻译为字符串 \"null\"
【发布时间】:2021-07-30 09:29:36
【问题描述】:

当我第一次加载它,然后当我将它的值更改为其他选项时,使用低于默认值的这个选择,但如果我将它改回默认值“未选择”并提交值被转换为字符串“null”,所以当我尝试将它传递给控制器​​属性是 int 的控制器时? (nullable int) 它抛出一个异常,因为我试图传入一个字符串。

有没有办法将其保留为 null 而不是字符串,或者我应该使用所有字符串值作为值?

仅供参考 - 我不想做任何 JS 提交后处理来检查值

<div class=\"form-group col-md-4\">
  <label for=\"processOptionId\">Claim Process</label>
  <select class=\"form-control\" [(ngModel)]=\"claim.data.processOptionId\" name=\"processOptionId\">
    <option value=null>None selected</option>
    <option *ngFor=\"let processOption of processOptionList\" [value]=\"processOption.code\">{{processOption.name}}</option>
  </select>
</div>

    标签: html angular typescript select html-select


    【解决方案1】:

    您应该将null 选项值与[ngValue] 绑定:

    <option [ngValue]="null">None selected</option>
    

    【讨论】:

    • 即使我这样做 [value]=null 或 this [value]="null" 它仍然尝试将其作为“null”(字符串)提交给我的控制器。
    猜你喜欢
    • 2014-10-01
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2014-11-27
    • 2017-01-30
    • 2023-01-11
    • 1970-01-01
    相关资源
    最近更新 更多