Python IPyFutify中的v-if实现

Python IPyFutify中的v-if实现,python,jupyter-notebook,vuetify.js,jupyter-lab,voila,Python,Jupyter Notebook,Vuetify.js,Jupyter Lab,Voila,我对使用ipyvuetify非常陌生,我想知道实现条件渲染的最佳方法是什么。当我移动到仪表板上的另一个选项卡时,我希望能够使导航侧栏中的控件消失 类似行为的简单实现如下所示: import ipyvuetify as v button1 = v.Btn(color='red', children = ['Submit 1'], style_ = 'width:30%') button2 = v.Btn(color='blue', children = ['Submit 2'], style_

我对使用ipyvuetify非常陌生,我想知道实现条件渲染的最佳方法是什么。当我移动到仪表板上的另一个选项卡时,我希望能够使导航侧栏中的控件消失

类似行为的简单实现如下所示:

import ipyvuetify as v 

button1 = v.Btn(color='red', children = ['Submit 1'], style_ = 'width:30%')
button2 = v.Btn(color='blue', children = ['Submit 2'], style_ = 'width:30%')

def on_click(widget, event, data): 
    button1.disabled = True

button2.on_event('click', on_click)

v.Html(tag='div', class_='d-flex flex-column', children=[button1, button2])
单击按钮时,我不想让
button1.disabled=True
同时删除/停止呈现控件。我认为应该采用
v-if
的一些实现方法,但我似乎无法理解


有什么想法吗?

在这里回答我自己的问题。我想出了一个办法,但可能还有更好的办法。我更新
button1.style.
中元素的css显示属性

下面显示的是打开和关闭按钮的方法。毫无疑问,有更干净的方法可以做到这一点

button1 = v.Btn(color='red', children = ['Submit 1'], style_ = 'width:30%')
button2 = v.Btn(color='blue', children = ['Submit 2'], style_ = 'width:30%')

def on_click(widget, event, data): 
    
    if button1.style_ != 'display:none':
        button1.style_ = 'display:none'
    else: 
        button1.style_ = 'display:block; width:30%'
    

    
        
button2.on_event('click', on_click)

v.Html(tag='div', class_='d-flex flex-column', children=[button1, button2])

您可以更改按钮容器的子级:

将IPYfutify导入为v
按钮1=v.Btn(颜色为红色,子项为['Submit 1'],样式为'width:30%'))
按钮2=v.Btn(颜色为蓝色,子项为['submit2'],样式为'width:30%'))
单击时的def(小部件、事件、数据):
如果my_buttons.children中的按钮1:
我的孩子们=[按钮2]
其他:
我的孩子们=[按钮1,按钮2]
按钮2.点击事件(“点击”,点击时)
my_buttons=v.Html(tag='div',class='d-flex-column',children=[button1,button2])
我的钮扣

注意:更改列表或目录时,请始终创建新实例。不会检测到现有实例的突变。

太好了,这样更好。感谢您的回答和开发此库!