首页 > 解决方案 > 将百分比添加到 ngModel 值 Angular 6(管道)

问题描述

我想在输入中有价值(来自ngModel),最后有百分号'%'。当我尝试使用自定义管道执行此操作时,一开始一切都很好,但是当我从输入中删除值并更改它时,每次输入键盘时都会添加此百分比。我怎样才能改变它?我需要允许类型,例如'40',然后添加'%',不要紧跟在'4' 之后。示例: https ://stackblitz.com/edit/angular-ppkbwn?file=src%2Fapp%2Fapp.module.ts

标签: angularpipeangular2-ngmodel

解决方案


@Pipe({ name: 'myPipe'})
export class MyPipe implements PipeTransform {
   transform(val) {
    if(String(val) === ''){
        return val;
    }else if (String(val).indexOf('%') === -1) {
        return val + '%';
    } else {
        return val
    }
   }
}

我认为您首先应该有一个额外的 if 条件来检查


推荐阅读