滚动后闪亮的页面跳转

时间:2016-06-21 15:49:01

标签: html r shiny

我正在编写一个更大的闪亮界面,其中包含带有几个tabPanel的tabsetPanel的ui.r主面板以及每种不同类型的表和绘图输出。它看起来很棒,除了需要滚动的页面倾向于跳转到它们的滚动位置,例如(重新)选择绘图输出,表格条目等。跳转有时会转到页面的开头,有时会转到其他地方;它们出现在Firefox和Chrome中。那么,有没有办法防止或抑制这种跳跃?非常感谢你的帮助。

下面是一个最小的例子,在页面底部的表格行中进行选择后,ui跳转到页面顶部:

library(shiny)
library(DT)
data=data.frame(x=1:10,y=2:11)

ui=shinyUI(
  fluidPage(
    plotOutput("plot1"),
    plotOutput("plot2"),
    DT::dataTableOutput("tt")
  )
)

server=shinyServer(function(input, output) {
  dd=reactiveValues(d=data)
  output$plot1 <- renderPlot({plot(0,1)})
  output$plot2 <- renderPlot({plot(0,1)}) 
  output$tt=DT::renderDataTable(
    datatable(
      dd$d,selection =c('single')
    )
  )
  observeEvent(input$tt_rows_selected,{
    dd$d[input$tt_rows_selected,1]<-log(dd$d[input$tt_rows_selected,1])
  })
})

shinyApp(ui,server)

1 个答案:

答案 0 :(得分:0)

library(shiny)
library(DT)
data=data.frame(x=1:10,y=2:11)

ui=shinyUI(
  fluidPage(
    plotOutput("plot1"),
    plotOutput("plot2"),
    DT::dataTableOutput("tt")
  )
)

server=shinyServer(function(input, output) {
  dd=reactiveValues(d=data)
  output$plot1 <- renderPlot({plot(0,1)})
  output$plot2 <- renderPlot({plot(0,1)}) 
  output$tt=DT::renderDataTable(
    datatable(
      data,selection ='single'
    )
  )
  observeEvent(input$tt_rows_selected,{
    dd$d[input$tt_rows_selected,1]<-log(dd$d[input$tt_rows_selected,1])
  })
})

shinyApp(ui,server)

这对我有用。问题是selection = c('single')。它应该是selection = 'single'。在DT::datatable的文档中,您可以传递给selection的参数包含在c()中,只是为了表明所有选项都是。