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

232
Visualizações
Creación de valores de pie de página renderizados personalizados ia reactable

Estoy teniendo dificultades para convertir mi columna de pie de página en un reactivo. Quiero usar JS aquí para acceder al estado filtrado del lado del cliente, y como no estoy muy familiarizado con JS, estoy atascado. Lo que quiero es: usar los valores de pie de página resumidos de dos columnas para crear un valor de pie de página resumido para una tercera columna. Vea el ejemplo a continuación.

 library(shiny) library(tidyverse) data = tibble(article =c("a", "b", "c"), sales = c(12,34,16), margin = c(6,20,9)) %>% mutate(profit = round(margin / sales * 100, digits = 2)) ui = fluidPage( div(style = "margin-top: 50px; display: flex; justify-content: center;", reactableOutput(outputId = "table")) ) server = function(input, output, session){ output$table = renderReactable({ reactable( data = data, columns = list( article = colDef( footer = "..."), sales = colDef( format = colFormat(suffix = "€"), footer = JS("function(colInfo) { var total = 0 colInfo.data.forEach(function(row) { total += row[colInfo.column.id] }) return total.toFixed(2) + '€'}")), margin = colDef( format = colFormat(suffix = "€"), footer = JS("function(colInfo) { var total = 0 colInfo.data.forEach(function(row) { total += row[colInfo.column.id] }) return total.toFixed(2) + '€'}")), profit = colDef( format = colFormat(suffix = "%"), footer = "35/62*100" ) )) }) } shinyApp(ui, server)
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Solución del revelador reactable aquí

Aquí hay un ejemplo de una función de representación de pie de página que usa colInfo.data . Es como el ejemplo de la función agregada personalizada en los documentos, excepto colInfo.data toma el lugar de las rows .

 library(reactable) library(dplyr) set.seed(10) data <- sample_n(MASS::Cars93[23:40, ], 30, replace = TRUE) %>% mutate(Price = Price * 3, Units = sample(1:5, 30, replace = TRUE)) %>% mutate(Avg.Price = Price / Units) %>% select(Model, Manufacturer, Price, Units, Avg.Price) reactable( data, groupBy = "Manufacturer", columns = list( Price = colDef(aggregate = "sum"), Units = colDef(aggregate = "sum"), Avg.Price = colDef( # Calculate the aggregate Avg.Price as `sum(Price) / sum(Units)` footer = JS("function(colInfo) { let totalPrice = 0 let totalUnits = 0 colInfo.data.forEach(function(row) { totalPrice += row['Price'] totalUnits += row['Units'] }) return (totalPrice / totalUnits).toFixed(2) }") ) ) )
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