我正在编写一个更大的闪亮界面,其中包含带有几个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)
答案 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()
中,只是为了表明所有选项都是。