你如何在闪亮的 htmlwidget (joneditor) 上调用 javascript 方法?
How do you call a javascript method on a htmlwidget (jsoneditor) in shiny?
我正在尝试在闪亮的应用程序中使用 listviewer 包中的 jsonedit,并希望默认显示完全展开的树。在 jsonedit() 函数中没有执行此操作的选项,但底层 javascript 对象有一个 .expandAll() 方法可以执行此操作。如何从 R 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,并希望默认显示完全展开的树。在 jsonedit() 函数中没有执行此操作的选项,但底层 javascript 对象有一个 .expandAll() 方法可以执行此操作。如何从 R 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();}")