gpt4 book ai didi

javascript - Shiny :从自己的 JS 脚本访问输入对象

转载 作者:行者123 更新时间:2023-11-29 20:58:56 25 4
gpt4 key购买 nike

在 Shiny conditionalPanel 中的 condition arg 中,可以访问 JS input 对象,所以如果有例如 numericInput ("num", label = h3("Numeric input"), value = 1) 小部件,此小部件的值可通过 input.num< 在 condition JS 表达式中访问.

问题是如何以相同的方式在自己的 JS 脚本(在 Shiny 应用程序中启动)或仅从在 Shiny 应用程序页面上打开的浏览器控制台中访问 input 对象?

最佳答案

最好的方法可能是监听 shiny:inputchanged events .

library(shiny)

shinyApp(
ui = fluidPage(
tags$head(tags$script("
$(document).on('shiny:inputchanged', function(event) {
console.log(event);
console.log('[input] ' + event.name + ': ' + event.value);
});
")),
numericInput("num", "", 0, 0, 5),
textInput("txt", ""),
actionButton("action", "Action")
),
server = function(input, output) {}
)

您还可以使用 session$sendCustomMessage 从服务器发送回输入值和 Shiny.addCustomMessageHandler


一种未记录的、更不推荐的方法是直接通过 Shiny.shinyapp.$inputValues 访问输入值,这是一个将值存储在 name:type 键下的对象:

{
"action:shiny.action": 4,
"num:shiny.number": 2,
"txt": "text"
}

关于javascript - Shiny :从自己的 JS 脚本访问输入对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com