如何在输入字段中使用 PercentPipe

2023-12-22

我正在尝试创建百分比输入字段。我正在使用 PercentPipe 来显示百分比。但是当我输入一些数字时出现错误

<input required type="number" min="0" max="100"
   [ngModel]="viewModel.value | percent:'1.2'" id="limitPercentage"
   (ngModelChange)="viewModel.value=$event"
   [formControl]="viewModel.control"
   name="limitPercentage" class="form-control"
   (showErrorMessage)="showErrorMessage($event)"
/>

控制台错误:

 ERROR Error: InvalidPipeArgument: '0% is not a number' for pipe 'PercentPipe'

我发现使用百分比管道对于输入没有好处。

我将增值税(税率)率作为浮点数存储在我的数据库中,但我想在产品编辑表单上将其显示为百分比。我怀疑否则的话会很混乱。

因此,percentpipe 不太适合,因为它将数字转换为文本字符串。现在我想我可以在保存时将数字转换回来,但我想在输入中使用数字旋转器并处理验证。

所以这就是我最终的结果......

1)在表格中我有一个输入

    <mat-form-field class="col-12 col-sm-6 col-md-2" >
      <mat-label>VAT rate </mat-label>
      <input type="number" matInput formControlName="prodVatRate" 
             min="0" max="100" pattern ="^0?[0-9]?[0-9]$|^(100)$">
          <span matPrefix>%&nbsp;</span>
        </mat-form-field>

2)在组件中,我有几个简单的函数来处理转换。

toPercent(floatingNumber: number): number  {
   return floatingNumber * 100;
}

toDecimal(integerNumber: number): number {
    return integerNumber / 100;
}

它们非常简单,您可能想将它们内联添加。

3)我使用反应式表单,因此在页面加载时我使用http响应“patchValue”表单...

this.productForm.patchValue({
  prodVatRate: this.toPercent(this.product.prodVatRate),
  ... more data inserted here
});

4)最后在我的表单保存/提交中,我将数据转换回浮点数。

    const p = { ...this.product, ...this.productForm.value };

    // change the Vat rate back to a floating point number
    p.prodVatRate = this.toDecimal(p.prodVatRate);

我希望它能帮助你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在输入字段中使用 PercentPipe 的相关文章

随机推荐

  • 如何在运行时从 Solr 中过滤大量 id 列表

    我有一个索引products是索尔 我需要为每个客户提供定制的产品列表 这样我就必须为每个客户排除一些特定的产品 目前 我将客户和排除产品的这种关系存储在 SQL 数据库中 然后使用术语查询在 Solr 中过滤它们 有没有一种方法可以将这种
  • Typescript:如何表达类型仅限于多种类型之一的泛型函数

    例如 如果一个方法添加两个参数 a 和 b 它们应该具有相同的类型 并且该类型应该是字符串或数字 尝试1 function add a string number b string number return a b 这是行不通的 因为 a
  • 在 JavaScript 中查询 parse.com 对象中的指针

    我有一个班级Company其中有User指针 我想要的查询Company类是这样的 取回Company行 其中User对象的名称等于 ABC 那么 我应该如何形成这个查询 var Company Parse Object extend Co
  • Firebase 身份验证:在特殊电子邮件地址(例如 *@gmx.at)上发送但未收到的电子邮件

    我在用Firebase 身份验证在我的离子应用程序中 部分用户反映未收到验证邮件在用户注册后或触发 resendVerificationEmail 时发送 这对于 gmail com 或 live de 等电子邮件提供商来说效果很好 但对于
  • Djangocollectstatic没有这样的文件或目录

    在 django 1 7 中 collectstatic 为我抛出一个异常 OSError Errno 2 No such file or directory static 我表演过很多collectstatic 通话一切正常 但今天遇到了
  • Windows服务在重新启动后不会自动启动[重复]

    这个问题在这里已经有答案了 我的自动启动 Windows 服务仅在重新启动时才启动 我有一个用 C 创建的 Windows 服务 并通过 Wix 创建的安装程序安装 该服务设置为自动启动 该服务在 NT AUTHORITY NETWORK
  • 将 ViewModel 映射到 JS 对象

    是否可以将模型 服务器端 映射到 JS 对象 问题是我无法从服务器端返回 json 对象 查看 cshtml model TestModel Thanks 您可以使用Json Encode
  • 在php中从服务器中的视频创建缩略图

    在我的网站中 我可以选择由用户上传视频文件 我想创建该视频的缩略图 我已经在本地系统中尝试过一些编码 它工作正常 我尝试使用相同的编码来提供服务 但它不起作用 我检查了服务器中是否启用了 ffmpeg 它已被禁用 他们是否还有其他选项可以在
  • 挂钩 javascript 事件来加载页面

    我有一个 aspx 它在正文的 onload 事件期间运行以下 javascript 函数 但是 我将 aspx 设置为使用母版页 因此 body 标记不再存在于 aspx 中 如何注册 startClock 函数以在页面被点击时运行并且仍
  • 使用 qt 连接到 SQL Server [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何使用 Qt 连接到 SQL Se
  • WordPress 查询 - 按元字段值排序

    我有一篇包含三个元字段的帖子 add post meta my post times times 我想查询这个类别并按其中一个的元字段值对帖子进行排序 我现在使用的参数是 args array post type gt post categ
  • 如何同步两个重叠的 JavaScript onclick 事件

    Fiddle https jsfiddle net a0bwoev 3 https jsfiddle net a0bwouev 3 我的网站有两个 层 语言界面层 英语和法语 用户可以使用自己喜欢的语言浏览网站 这围绕网站内容 内容层 用户
  • 如何从堆栈中删除特定活动?

    假设我有这样的活动 A gt B gt C gt D 活动D has a Save按钮 单击该按钮后 我想取回堆栈中的两个活动 C and D是某种的一部分wizard所以我想把它们都删除 A gt B 这可能吗 从 D 启动活动 BFLA
  • android 如何从数组中包含数组的json获取数据

    我有一个应用程序 我想从本地服务器获取数据 喜欢 restarutant name Hotel Raja photo http i imgur com Mzt4u jpg address 93 2ndc ross GDP etx area
  • Pex(测试生成)真的有用吗?

    是的 可以为 Sum 或 Divide 等函数的边界值生成测试 Pex 是一个很好的工具 但更常见的是 我们对业务行为进行测试 让我们考虑一下 Beck 的经典 tdd 书中的示例 Test public void ShouldRoundO
  • 在mySQL数据库中插入多个数组值

    我有两个 PHP 变量 都是字符串 friendslist 2323443 7245 284683 345123 8456234 95432 id 10288272 我关心的表的结构如下 表名称 UserLinks link id user
  • jQuery 滑块教程?

    有谁知道一些解释如何使用 JQuery Slider 的好教程 我找到了一些 但没有一个真正清楚地表达了我所需要的内容 我真正需要弄清楚如何做的是使滑块从 1 0 5 0 包括所有十分之一 变化 并在其更改时根据该值设置隐藏控件 Thank
  • Chrome 扩展存储自定义对象类型剥离原型方法

    我创建了一个在扩展中使用的自定义对象 当我保存 Group 类型 我的对象类型 的对象 然后将这些对象从存储中取出时 原型方法似乎不再存在 现在我在文档中读到对象序列化为对象文字 我似乎不知道如何将方法与对象保持在一起 我在下面提供了小组课
  • 使用FTS查询,你能找到所有包含'abc'的条目吗

    我是全文搜索新手 如何在以下查询中使用 Contains 而不是使用 like 来执行搜索 Select From Students Where FullName LIKE abc Thanks 就像是 SELECT From Studen
  • 如何在输入字段中使用 PercentPipe

    我正在尝试创建百分比输入字段 我正在使用 PercentPipe 来显示百分比 但是当我输入一些数字时出现错误