you can pass a NULL renderDT to Test so that it 'renders' , thereby not spinning.
Then when you observe event, you redefine Test to render your desired table
server <- function(input, output, session) {
output$Test <- DT::renderDT(NULL)
observeEvent(input$plot, {
output$Test <- DT::renderDT(DT::datatable(head(iris),
rownames = FALSE, options = list(
dom = "t",
ordering = FALSE
)
))
})
}