将按钮添加到闪电图

问题描述

我正在使用以下代码添加 UIelement

legendBox =  chart[unique].addUIElement(UILayoutBuilders.Column.setBackground( UIBackgrounds.Rectangle ))
.setPosition({ x: 0,y: 100 })
.setorigin(UIOrigins.LeftTop)
   
   

现在我可以通过以下代码向它添加系列

entry = legendBox.addElement(UIElementBuilders.CheckBox);
series.attach(entry);

相反,我可以添加具有某些值的按钮吗?单击该按钮时,我需要调用具有该值的函数

例如,如果我添加带有值的按钮

<button val="22">Click<button>

现在当我点击那个按钮时,我需要一个返回 22 的回调函数。这可能吗?

解决方法

就您而言,entry 变量的类型为 UICheckBox

要在点击时应用自定义操作,onSwitch 方法应该这样做。

series.attach(entry); 仅在您希望按钮隐藏/恢复系列时才需要,如果您希望触发您的自定义操作,则可以删除此代码。

entry = legendBox.addElement(UIElementBuilders.CheckBox)
entry.onSwitch((_,checked) => {
   console.log('clicked',checked)
})

如果您想添加自动反弹,另见 UIElementBuilders.ButtonBox

entry = legendBox.addElement(UIElementBuilders.ButtonBox)
entry.onSwitch((_,checked) => {
   if (checked) {
       console.log('button pressed')
   }
})