下面的应用程序包含一个标记为idClient
的单选按钮组和一个呈现以下内容的renderUI表达式:
Options
,具体取决于
选定的按钮和input$data
。在用户为input$add
选择有效值之前,我想禁用该按钮。我绑上input$data
,但这失败了。将observe({ toggleState(id = 'add', condition = !is.null(input$data)) })
的值打印到控制台显示,pickerInput使用两个单独的值input$data
和NULL
进行了初始化:
""
,因此NULL
[1] ""
返回:
!is.null(input$data)
不仅仅是[1] FALSE
[1] TRUE
。
应用程序:
FALSE
此外,当您将单选按钮从默认选择library(shiny)
library(shinyjs)
library(shinyWidgets)
ui <- fluidPage(shinyjs::useShinyjs(),
prettyRadioButtons('opt', label = 'Options', choices = c('state', 'file', 'letters')),
uiOutput('upload')
)
server <- shinyServer(function(input, output, session) {
output$upload = renderUI({
tagList(
switch(input$opt,
'state' = pickerInput('data', 'Choose a state',
choices = state.name,
options = list(title = "States..."),
choicesOpt = list(subtext = seq_along(state.name))
),
'file' = fileInput('data', 'Select file'),
'letters' = pickerInput('data', 'Choose a letter',
choices = LETTERS,
options = list(title = "Letters..."),
choicesOpt = list(subtext = seq_along(LETTERS))
)
),
actionButton('add', 'Add')
)
})
observe({
print(input$data) # pickerInput initializes with two values
toggleState(id = 'add', condition = !is.null(input$data))
})
})
shinyApp(ui, server)
切换到state
,然后又返回到file
时,pickerInput仅返回state
(不是< / p>
[1] ""
它在启动时返回)。我不确定这里发生了什么,在pickerInput文档中找不到与此相关的任何内容,因此,我们将不胜感激。
答案 0 :(得分:0)
空字符串import time
import paho.mqtt.client as mqtt
import json
def on_connect(client, userdata, rc):
print ("Connected with rc: " + str(rc))
client.subscribe("demo/test1")
def on_message(client, userdata, msg):
data_json = msg.payload
data = json.loads(data_json)
print(data['ant_plus_power'])
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
x = client.connect("118.138.47.99", 1883, 60)
print(x)
client.loop_forever()
在R中不是空对象
''
NULL表示R中的空对象:它是一个保留字。 NULL通常由其值为 未定义。
?is.null
但是> !is.null('')
[1] TRUE
将解决此问题
shiny::isTruthy