[英]How do you call a javascript method on a htmlwidget (jsoneditor) in shiny?
我正在嘗試在 shiny 應用程序中使用列表查看器 package 中的 jsonedit,並希望默認顯示完全展開的樹。 在 jsonedit() function 中沒有執行此操作的選項,但底層 javascript object 有一個 .expandAll() 方法可以執行此操作。 如何從 R shiny 調用此方法? 我的以下嘗試在 shiny 應用程序中或直接在 R 中均無效。
library(shiny)
library(listviewer)
library(magrittr)
library(htmlwidgets)
x <- list(a=1,b=2,c=list(d=4,e='penguin'))
jsonedit(x, mode = 'view') %>% onRender("function(el,x,data) {this.expandAll();}")
shinyApp(
ui = shinyUI(
fluidPage(
jsoneditOutput( "jsed" )
)
),
server = function(input, output){
output$jsed <- renderJsonedit({
jsonedit(x, mode = 'view') %>% onRender("function(el,x,data) {this.expandAll();}")
})
}
)
jsonedit(x, mode = 'view') %>%
onRender("function(el,x,data) {this.editor.expandAll();}")
上面的答案對我有用。 謝謝斯蒂芬·洛朗。 只需添加功能來自的包......
listviewer::jsonedit(
x = list(a=1,b=2,c=list(d=4,e='penguin'))
mode="view"
) %>% htmlwidgets::onRender("function(el,x,data) {this.editor.expandAll();}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.