微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ipyvuetify 中的 v-if 实现

如何解决ipyvuetify 中的 v-if 实现

我对使用 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 的一些实现是可行的,但我似乎无法弄清楚。

有什么想法吗?

解决方法

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

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): 
    if button1 in my_buttons.children:
        my_buttons.children = [button2]
    else:
        my_buttons.children = [button1,button2]

button2.on_event('click',on_click)

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

my_buttons

注意:更改列表或字典时,始终创建一个新实例。未检测到现有实例的突变。

,

在这里回答我自己的问题。想出了一种的方法来做到这一点,但可能有更好的方法。我更新了 button1.style_ 中元素的 css 显示属性。

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

button1 = v.Btn(color='red',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',button2])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。