在我的Cat.view.bxb文件中,我有一些UI元素,这些元素基于结构中的可选属性,并附加了警告。
警告此名称可能为空
result-view{
match {
Cat (this)
}
render {
layout {
section {
content {
paragraph {
style (Title_XS)
value ("#{value(this.name)}")
}
}
}
}
}
}
答案 0 :(得分:1)
if(存在)有效并且是已经阐明的一种方式,并且为用户提供了出色的环境。在某些情况下,可能更可取的另一种方法是使用[]方括号表示法-如果方括号内的某个节为null,则将跳过该节。因此,对于您的示例:
result-view{
match {
Cat (this)
}
render {
layout {
section {
content {
paragraph {
style (Title_XS)
value ("[#{value(this.name)}]")
}
}
}
}
}
}
答案 1 :(得分:0)
警告用于提醒您,如果不存在可选属性,则不会显示您定义的UI元素。
您应该定义一个from abc import ABC, abstractmethod
class Model(ABC):
def __init__(self, value):
self.value = value
super().__init__()
@abstractmethod
def do_something(self):
pass
# Inherit the base class
class DoAdd42(Model):
@decorate # <----------------------- SHOULD @decorate BE HERE INSTEAD?
def do_something(self):
return self.value + 42
并定义UI元素(当可选元素不可用时)。
例如,您的代码如下所示:
if(exists(this.name))
这样做,您正在解决警告的根本原因,并为用户创建响应速度更快的输出。