我正在做一个Angular项目。我想添加一个月选择器,该选择器会在导航栏上单击文本字段时打开。我正在使用primeng
和<p-calendar>
之类的<p-overlay>
组件。它本身就是一个巨大的项目,我必须添加calendar
小部件。因此,我仅向您展示我的部分代码。
navigation.component.html
<div class="dls-menu-item" style="float: right; margin-right: 200px;">
<input type="text" (click)="op.toggle($event)">
</div>
<p-overlayPanel #op>
<div id="comp-render">
<div class="all-container">
<p>Time selection</p><br>
<div>
<p-calendar view="month" dateFormat="mm/yy"...></p-calendar>
</div>
<br>
</div>
</div>
</p-overlayPanel>
但是,当我单击输入字段时,出现此错误: the PEP that introduced them
我对这个错误的研究表明,它与MD Bootstrap
有关。但是答案对我不起作用。我也尝试了this技术,但是它没有达到我们想要的方式。我的发现表明(click)="op.toggle($event)
是根本原因。请告诉我如何解决这个问题。
答案 0 :(得分:1)
对不起,您可以尝试创建Types.d.ts并将此代码放到这里吗?
interface JQuery<any> {
tooltip(params: any): any;
}
然后在您的tsconfig.json中
"typeRoots": [
"node_modules/@types",
"src/typings.d.ts" // add here
],
答案 1 :(得分:1)
当您尝试从非主要元素触发 popover 切换时会发生这种情况。看来您需要将 pInput 添加到输入(或 div 并移动点击处理程序),然后它就会起作用。
<div class="dls-menu-item" style="float: right; margin-right: 200px;">
<input type="text" (click)="op.toggle($event)" pInput><!--Add pInput-->
</div>
<p-overlayPanel #op>
<div id="comp-render">
<div class="all-container">
<p>Time selection</p><br>
<div>
<p-calendar view="month" dateFormat="mm/yy"...></p-calendar>
</div>
<br>
</div>
</div>
</p-overlayPanel>