p-message(KeyFilterModule)在Angular6中不是已知元素

时间:2018-07-27 10:51:58

标签: angular primeng angular6

当我尝试从Angular 6中的Prime-NG UI组件与KeyFilterModule一起进行p消息传递时,安装了以下软件包供参考:

  

npm -v   6.1.0

> ng -v 角CLI:6.0.8 节点:8.11.3 操作系统:win32 ia32 角度:6.0.9

请找到下面使用的代码并抛出错误。

HTML文件:  

      <input type="text" formControlName="UniqueNumber" class="form-control" id="UniqueNumber" name="UniqueNumber" placeholder="Patient Unique Number"
       pInputText [pKeyFilter]="ccRegex" [pValidateOnly]="true" placeholder="123-12-1234" />
       <p-message severity="error" text="Not a valid number" [@errorState]="form.dirty && !form.valid ? 'visible' : 'hidden'"></p-message> 
    </div>

ts代码:   ccRegex:RegExp = / [0-9] {3}-[0-9] {2}-[0-9] {4} $ /;

我知道,KeyFilterModule是Angular 6中新引入的。有关此高度赞赏的任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:1)

我只是遇到了同样的问题。确保在应用程序中导入KeyFilterModule

import { TableModule } from 'primeng/table';
import { MessagesModule, KeyFilterModule } from 'primeng/primeng';

NgModule({
  imports: [
    ...
    TableModule,
    MessagesModule,
    KeyFilterModule
  ],
  exports: [
    ...
    TableModule,
    MessagesModule,
    KeyFilterModule
  ]
})

答案 1 :(得分:1)

我正在尝试导入messagesmodule,而是应该使用messagemodule。

import { TableModule } from 'primeng/table';
import { MessageModule, KeyFilterModule } from 'primeng/primeng';

NgModule({
  imports: [
    ...
    TableModule,
    MessageModule,
    KeyFilterModule
  ],
  exports: [
    ...
    TableModule,
    MessageModule,
    KeyFilterModule
  ]
})

感谢@ Lee.Winter指针!感谢您的帮助。

答案 2 :(得分:0)

这是您应如何实施 1.在您的组件文件中,添加此导入并声明您的数组

import {Message} from 'primeng/components/common/api';
msg: Message[] = [];
  1. 在您的ngOninit()中,添加此
this.msg
        .push({
            severity: 'warn',
            summary: 'WarningStatus',
            detail: 'You have not entered all the required data.'
        });
  1. 添加清除功能以删除横幅
clear() {
        this.msg = [];
    }
  1. 在您的html中添加此
<p-messages [(value)]="msg" [closable]="false" (onClick)="clear()"></p-messages>