首页 > 解决方案 > 在 Angular JS 中删除下划线并添加财政年度

问题描述

我目前正在处理一种情况,从后端我得到的值如下

123222_D1.123

但我需要在下拉列表中显示来自 db(12-Jun-2020) 2020-D1.123 的日期

我目前在下拉列表中显示的上述值

这是我的html代码

      <select [(ngModel)]="selectedValue" name="vd" class="form-control form-control-sm bg-transparent pl-2 version-drpdown">
                <option *ngFor="let version of vd" [value]="version.versionDet">{{version.versionDet}}
                </option>                   
      </select>

这是我日期为 20-JUN-2020 Ex 的 html 代码

<div class="version-label">Version Date : <span class="version-date">
    {{select.date}}</span>
</div> 

我正在尝试删除该值,直到 _ 并且我需要添加年份。我正在尝试使用split (' _ '),但这不起作用。

标签: javascriptangulartypescriptangular8

解决方案


直播:https ://stackblitz.com/edit/angular-6hzzvf?file=src%2Fapp%2Fapp.component.html

console.log("123222_D1.123".replace(/.*_/,"23-JUN-2020".slice(-4)+"_"));
.as-console-wrapper { max-height: 100% !important; top: 0; }

上述解决方案应该可以满足您的要求。此外,如果你有很多元素。您需要创建一个自定义管道来完成这项工作。

HTML:

 {{version.versionNum | version-change:selectedVersion.versionDate}}

TS:

import { 
    Pipe, 
    PipeTransform 
 } from '@angular/core';  

 @Pipe ({ 
    name: 'version-change' 
 }) 

 export class VersionNameChanger implements PipeTransform { 
    transform(versionNum, date): number { 
     return versionNum.replace(/.*_/,date.slice(-4)+"_");
 } 
}

并且不要忘记在声明中的应用程序模块中导入管道


推荐阅读