此内容由英语原版由站长人工翻译成简体中文,可能存在不准确的翻译,请以官方原文为准。
原文链接:https://nicegui.io/documentation/label
原文链接:https://nicegui.io/documentation/label
标签 Label
显示一些文本。
参数 Param | 说明 Description |
---|---|
text | 标签中的内容 |
from nicegui import ui
ui.label('some label')
ui.run()
根据内容改变外观 Change Appearance Depending on the Content
你可以重写_handle_text_change
方法来从其他元素的属性来更新标签内容。此方法也适用于绑定,示例如下:
from nicegui import ui
class status_label(ui.label):
def _handle_text_change(self, text: str) -> None:
super()._handle_text_change(text)
if text == 'ok':
self.classes(replace='text-positive')
else:
self.classes(replace='text-negative')
model = {'status': 'error'}
status_label().bind_text_from(model, 'status')
ui.switch(on_change=lambda e: model.update(status='ok' if e.value else 'error'))
ui.run()
参考 Reference
属性 Properties
属性名 Properties | 类型 Type | 说明 Description |
---|---|---|
classes | Classes[Self] | 元素的classes |
is_deleted | bool | 元素是否被删除 |
is_ignoring_events | bool | 元素是否正在忽略事件 |
props | Props[Self] | 元素的props |
style | Style[Self] | 元素的样式 |
text | BindableProperty | 可绑定属性(译者注) |
visible | BindableProperty | 可绑定属性(译者注) |
方法 Methods (施工中)
方法名 Method | 返回值 return | 说明 Description |
---|---|---|
) | None | 向元素中添加资源。 参数 path :资源路径(例如: folder with CSS and JavaScript files) |
add_slot( name: str, template: Optional[str] = None ) | Slot | 向元素中添加插槽(Slot)。 NiceGUI 使用了来自 Vue 的理念: 元素允许拥有多个插槽, 每个元素都可能有几个子类。许多元素具有一个插槽,例如 ui.card (QCard) 有且仅有一个Slot。但是更多复杂的组件诸如 ui.table (QTable)能够拥有更多的Slot,比如 "header", "body" 等等. 如果你使用NiceGUI的ui.row()函数来嵌套元素,那么你将把新的元素放置在行的默认槽中。但如果你使用table.add_slot(…)函数,则会进入另一个槽。 槽栈可以帮助NiceGUI跟踪当前用于新元素的槽。parent字段指向其元素。每当通过with表达式添加一个元素时,其默认槽也会自动添加。 参数 name: Slot的名称 参数 template: Slot的Vue模板 返回: 此slot |
ancestors( include_self: bool = False ) | Iterator[Element] | 遍历元素的父样式。 参数:include_self: 是否将元素本身包含在迭代中 |
bind_text( target_object: Any, target_name: str = 'text', forward: Callable[…, Any] = […], backward: Callable[…, Any] = […] ) | Self | 将此元素的文本绑定到目标对象的 target_name 属性上。这种绑定是双向的,既从此元素到目标对象,也从目标对象到此元素。更新会立即发生,并且每当值发生变化时都会发生更新。在初始同步时,反向绑定具有优先权。 参数 target_object: 需要绑定的目标元素. 参数 target_name: 需要绑定的目标名称. 参数 forward: 用于在将值应用于目标之前对其进行操作的函数。 参数 backward: 用于在将值应用于目标之后对其进行操作的函数。 |
bind_text_from( target_object: Any, target_name: str = 'text', backward: Callable[…, Any] = […] ) | Self | 将其他元素的 target_name 绑定到此元素上。此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。 参数 target_object: 被绑定的对象名称。 参数 target_name: 被绑定的属性名称。 参数 backward: 在将值应用于当前元素之前先应用于该值的函数。 |
bind_text_to( target_object: Any, target_name: str = 'text', forward: Callable[…, Any] = […] ) | Self | 将此元素的文本内容绑定到目标对象的target_name 上。此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。 参数 target_object: 待绑定的对象名称。 参数 target_name: 待绑定的属性名称。 参数 forward: 在将值应用于目标元素之前先应用于该值的函数。 |
bind_visibility( target_object: Any, target_name: str = 'visible', forward: Callable[…, Any] = […], backward: Callable[…, Any] = […], value: Any = None ) | Self | 将此元素的可见性绑定到目标对象的 target_name 属性上。此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。反向绑定在初始同步时具有优先级。 参数 target_object: 被绑定的对象名称。 参数 target_name: 被绑定的属性名称。 参数 forward: 在将值应用于此元素之前先应用于该值的函数。 参数 backward: 在将值应用于此元素之后先应用于该值的函数。 param value: 可选 当目标值等于此值时,元素才可见,否则隐藏。 |
bind_visibility_from( target_object: Any, target_name: str = 'visible', backward: Callable[…, Any] = […], value: Any = None ) | Self | 将此元素的可见性绑定到目标对象的 target_name 属性上。此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。 参数 target_object: 被绑定的对象名称。 参数 target_name: 被绑定的属性名称。 参数 backward: 在将值应用于此元素之后先应用于该值的函数。 param value: 可选 当目标值等于此值时,元素才可见,否则隐藏。 |
bind_visibility_to( target_object: Any, target_name: str = 'visible', forward: Callable[…, Any] = […] ) | Self | 从其他元素的 target_name 绑定可见性。此绑定为单向绑定,由此元素绑定到其他元素上。会立即发生更新,并且每当此元素显示或隐藏时,被绑定的元素也会同步响应显示或隐藏。 参数 target_object: 待绑定的对象名称。 参数 target_name: 待绑定的对象参数名。 参数 forward: 在将值应用于此元素之后先应用于该值的函数。 |
clear() | None | 移除所有的子元素。 |
default_classes( add: Optional[str] = None, remove: Optional[str] = None, replace: Optional[str] = None ) | type[Self] | 添加或移除默认 HTML classes. 此方法允许使用Tailwind或者Quasar类修改元素的外观或者布局。 删除或者替换类对不需要预定义的类的场景下很有用。这个类的所有元素都将共享这些HTML类。这些类必须在元素实例化之前被定义。 参数 add: whitespace-delimited string of classes 参数 remove: whitespace-delimited string of classes to remove from the element 参数 replace: whitespace-delimited string of classes to use instead of existing ones |
default_props( add: Optional[str] = None, remove: Optional[str] = None ) | type[Self] | 添加或移除默认 props. 这允许使用 Quasar 的 props 来修改元素的外观或者布局。由于 props 只是作为HTML属性应用,所以它们可以用于任何HTML元素。这个类的所有元素都会共享这些props。这些必须在元素实例化之前定义。 如果未指定值,则假定布尔属性为True。 参数 add: whitespace-delimited list of either boolean values or key=value pair to add 参数 remove: whitespace-delimited list of property keys to remove |
default_style( add: Optional[str] = None, remove: Optional[str] = None, replace: Optional[str] = None ) | type[Self] | 添加、移除或者重设默认 CSS definitions. 删除或者替换样式对不需要预定义样式的场景下很有用。这个类的所有元素都将共享这些CSS定义。这些必须在元素实例化之前定义。 参数 add: semicolon-separated list of styles to add to the element 参数 remove: semicolon-separated list of styles to remove from the element 参数 replace: semicolon-separated list of styles to use instead of existing ones |
delete() | None | 删除元素以及它的所有子元素。 |
descendants( include_self: bool = False ) | Iterator[Element] | 遍历此元素的子元素。 参数 include_self: whether to include the element itself in the iteration |
get_computed_prop( prop_name: str, timeout: float = 1 ) | AwaitableResponse | 返回一个计算结果。 此函数需要使用 await 来等待,以便正确地返回计算属性。参数 prop_name: name of the computed prop 参数 timeout: maximum time to wait for a response (default: 1 second) |
mark(*markers: str) | Self | 重设元素的标记。 标记用于标识需要使用 ElementFilter 进行查询的元素, ElementFilter 在测试中被广泛使用,也可以用来减少全局变量的数量或减少依赖关系的传递。 参数 markers: list of strings or single string with whitespace-delimited markers; replaces existing markers |
move( target_container: Optional[Element] = None, target_index: int = -1, target_slot: Optional[str] = None ) | None | 将元素移动到其他容器中。 参数 target_container: container to move the element to (default: the parent container) 参数 target_index: index within the target slot (default: append to the end) 参数 target_slot: slot within the target container (default: default slot) |
on( type: str, handler: Optional[events.Handler[events.GenericEventArguments]] = None, args: Union[None, Sequence[str], Sequence[Optional[Sequence[str]]]] = None, throttle: float = 0.0, leading_events: bool = True, trailing_events: bool = True, js_handler: Optional[str] = None ) | Self | 订阅元素的事件。 参数 type: name of the event (e.g. "click", "mousedown", or "update:model-value") 参数 handler: callback that is called upon occurrence of the event 参数 args: arguments included in the event message sent to the event handler (default: None meaning all) 参数 throttle: minimum time (in seconds) between event occurrences (default: 0.0) 参数 leading_events: whether to trigger the event handler immediately upon the first event occurrence (default: True) 参数 trailing_events: whether to trigger the event handler after the last event occurrence (default: True) 参数 js_handler: JavaScript code that is executed upon occurrence of the event, e.g. (evt) => alert(evt) (default: None) |
remove( element: Union[Element, int] ) | None | 移除一个子元素。 参数 element: either the element instance or its ID |
run_method( name: str, *args: Any, timeout: float = 1 ) | AwaitableResponse | 在客户端运行方法。 如果是awaited函数, the result of the method call is returned. Otherwise, the method is executed without waiting for a response. param name: name of the method param args: arguments to pass to the method param timeout: maximum time to wait for a response (default: 1 second) |
set_text(text: str) | None | 设置元素中的文本。 参数 text: 待设置的文本内容。 |
set_visibility(visible: bool) | None | 设置元素的可见性。 参数 visible: 元素是否可见。 |
tooltip(text: str) | Self | 向此元素添加提示。 参数 text: tooltip中的内容。 |
update() | None | 立即在客户端中更新此元素。 |
遗产 Inheritance
- 文本元素 TextElement
- 元素 Element
- 可见性 Visbility
© 版权声明
除非另行声明,文章版权归作者所有,未经允许请勿转载。
THE END