gpt4 book ai didi

javascript - Shiny.onInput - 对每次点击 JS 使用react

转载 作者:行者123 更新时间:2023-12-03 04:15:22 25 4
gpt4 key购买 nike

可能是很简单的问题。我不太熟悉 Shiny 项目中嵌入的 Javascript,无法正确理解这一点

我有一个 gVis 表,选择行的唯一方法是使用 js 监听器。我的监听器非常简单,将一行分配给一个变量(这里sustable)

  sussimilar_click <- sprintf("var sustable = chart.getSelection()[0]['row'];
Shiny.onInputChange('sustable', sustable);")

我想要实现的是更改下面的表格 - 每次单击时将值从 TRUE 更改为 FALSE 以及其他方式所以我有一个简单的观察者

  observe({input$sustable
values$datAll1[input$sustable+1,3] <- !values$datAll1[input$sustable+1,3]
})

正如您所期望的,它会改变我需要的方式,但它仅在值更改时触发 - 因此,如果我在同一项目上单击两次,它不会触发第二个事件。

如何在每次点击时触发?或者也许我应该更改监听器而不将值传递给观察者(如果是这样,如何?是否有任何 Shiny.onInput 没有更改?)

最佳答案

我使用的解决方案是添加第二个输入,即 input$trigger,我将其添加到 javascript 部分。为他分配一个随机数可确保他在每次点击时触发并触发服务器函数中观察者的代码。

Shiny.onInputChange('sustable', sustable);
Shiny.onInputChange('trigger', Math.random());

然后让服务器代码监听:

observeEvent(input$trigger, {
values$datAll1[input$sustable+1,3] <- !values$datAll1[input$sustable+1,3]
})

关于javascript - Shiny.onInput - 对每次点击 JS 使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44162098/

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