添加到Shiny列表 [英] Add to a list in Shiny
本文介绍了添加到Shiny列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想定义一个列表,用户可以通过执行某些操作来进行更新.我是这样做的:
I want to define a list that a user may update through doing certain actions. I did this:
runApp(list(
ui=fluidPage(
h1('Example')
,textInput('txt','','Text')
,actionButton('add','add')
,verbatimTextOutput('list')
)#ui
,server=function(input,output,session) {
s.list<-reactive(isolate(d.list()))
d.list<-reactive({if (input$add == 0) return()
isolate({
list(input$txt,unlist(s.list()))
})#iso
})#rea
output$list<-renderPrint({
list(unlist(d.list()))
})#list
}#server
))#ruanApp
但是列表会无限次更新,有人知道有什么方法可以使这项工作成功吗?
But the list updates infinitely many times, does anyone know a way to make this work?
推荐答案
您可以使用reactiveValues
require(shiny)
runApp(list(
ui=fluidPage(
h1('Example')
,textInput('txt','','Text')
,actionButton('add','add')
,verbatimTextOutput('list')
)
,server=function(input,output,session) {
myValues <- reactiveValues()
observe({
if(input$add > 0){
myValues$dList <- c(isolate(myValues$dList), isolate(input$txt))
}
})
output$list<-renderPrint({
myValues$dList
})
}
))
这篇关于添加到Shiny列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文