Búsqueda de sitios web

javascript - ERROR TypeError: "jit_nodeValue_3(...).toggle no es una función"


Estoy trabajando en un proyecto de Angular. Quería agregar un selector de meses que apareciera al hacer clic en un campo de texto en la barra de navegación. Estoy usando componentes de primeng como <p-calendar> y <p-overlay>. Es un proyecto grande en sí mismo y tengo que agregar un widget de calendar. Así que solo te mostraré mi parte del código.

navegación.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>

Pero en el momento en que hago clic en el campo de entrada, obtengo este error:

Mi investigación sobre este error dice que está relacionado con MD Bootstrap. Pero esta respuesta no me está funcionando. También probé esta técnica, pero no está funcionando como queremos. Y mis hallazgos indican que (click)="op.toggle($event) es la causa principal. Por favor, díganme cómo solucionarlo.

Respuesta #1

Esto ocurre cuando intentas activar el cambio de popover desde un elemento que no es prime. Parece que necesitas agregar pInput al input (o div y mover el manejador de clic) y entonces funcionará.

<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>

Respuesta #2

Perdón por la respuesta tardía, ¿puedes intentar crear typings.d.ts y poner este código aquí dentro?

interface JQuery<any> {
    tooltip(params: any): any;
}

Entonces en tu tsconfig.json

"typeRoots": [
            "node_modules/@types",
            "src/typings.d.ts" // add here
        ],

Artículos relacionados