Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

401
Visualizações
Tabulador 5: ¿Ya no son posibles los menús contextuales vinculados personalizados?

¡Hemos usado Tabulator durante algunos años y es un gran producto! Ahora pasamos a usar Angular v13 y cambiamos al nuevo Tabulator 5.x

Previamente, en la definición de la columna de la tabla, hemos creado un menú contextual personalizado usando lo siguiente:

 contextMenu: this.TableRowClicked.bind(this),

Con la definición de la función luciendo así:

 public TableRowClicked(data: any, e: Event): void {

Tenga en cuenta que solo usamos el menú contextual del contextMenu para activar la creación de nuestro propio sistema de menú contextual, luciendo, por ejemplo, así:

Menú contextual personalizado

Con el nuevo Tabulator 5.x, ¿esto parece haber cambiado? ¿Parece que debemos devolver una serie de elementos del menú ahora? Es posible que no haya entendido bien, pero parece que ya no es posible usar esto como un desencadenante para llamar a la creación de su propio menú contextual. ¿O estoy malinterpretando los tipos de entrada y retorno de la nueva función de menú contextual? Vi una nota sobre devolver una matriz vacía ([]) si no desea crear elementos de menú devueltos personalizados, sin embargo, el error pegado a continuación aún permanece. Ahora tengo la función definida así para el Tabulador 5, que requiere que devuelva una matriz:

 public TableRowClicked(cell: Tabulator.MenuObject<Tabulator.CellComponent>, e: UIEvent): (Tabulator.MenuSeparator | Tabulator.MenuObject<Tabulator.CellComponent>)[] {

El contextMenu en la definición de columna del tabulador da el siguiente error:

 Type '(cell: MenuObject<CellComponent>, e: UIEvent) => (MenuObject<CellComponent> | MenuSeparator)[]' is missing the following properties from type '(MenuObject<CellComponent> | MenuSeparator)[]': pop, push, concat, join, and 27 more.ts(2740) index.d.ts(1412, 9): The expected type comes from property `contextMenu` which is declared here on type `ColumnDefinition`

¿Puede alguien arrojar algo de luz sobre la nueva forma de hacer esto en Tabulator 5 o lo que me estoy perdiendo y haciendo mal?

Cualquier ayuda sería muy apreciada, ya que actualmente esto impide el cambio al Tabulador 5 desde el Tabulador 4.9.3.

Gracias,

Miguel

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Al observar el error, parece que las escrituras de TypeScript que está utilizando pueden estar desactualizadas y no esperar la función allí.

Los Typings no son parte de la biblioteca Tabulator, la biblioteca en sí funciona como se esperaba.

Lo que diría es que si está iniciando su propio menú contextual, entonces no hay necesidad de usar la opción contextMenu , que está diseñada solo para iniciar el sistema incorporado.

Le recomendaría que use el evento cellContext para buscar un clic derecho en la celda y luego active su menú personalizado.

Esto se puede hacer por columna en la definición de columna:

 {title:"Name", field:"name", cellContext:function(e, cell){ //e - the click event object //cell - cell component }, }

o suscribiéndote al evento en toda la mesa:

 table.on("cellContext", function(e, cell){ //e - the click event object //cell - cell component });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda