Component Render
您可以使用以下两种方式之一实现组件渲染:完全通过编程方式或使用 ANTLR Stringtemplate。严格来说,有一个简单的 Function
呈现器界面,它将 Context
作为输入,并输出 AttributedString
的列表。这允许您在模板化和代码之间进行选择。
如果您不需要执行任何复杂操作,或者您只想稍微修改现有组件布局,那么模板化是一个不错的选择。然后通过代码渲染为您提供了所需的灵活性。
通过编程方式进行渲染是创建 Function
:
Unresolved include directive in modules/ROOT/pages/components/ui/render.adoc - include::../../test/java/org/springframework/shell/docs/UiComponentSnippets.java[]
然后,您可以将其连接到组件:
Unresolved include directive in modules/ROOT/pages/components/ui/render.adoc - include::../../test/java/org/springframework/shell/docs/UiComponentSnippets.java[]
组件有自己的上下文,但通常会从父组件类型共享一些功能。以下表格显示了这些上下文变量:
Key | Description |
---|---|
|
组件呈现其结果后的值。 |
|
组件的名称——也就是其标题。 |
|
为组件设置的可能消息。 |
|
消息的级别—— |
|
如果级别为 |
|
如果级别为 |
|
如果级别为 |
|
The raw user input. |
Key | Description |
---|---|
|
组件的名称——也就是其标题。 |
|
原始用户输入,大部分用于过滤。 |
|
完整项目状态列表。 |
|
项目状态的可视列表。 |
|
如果上下文在结果模式中,则返回 |
|
选择器中的光标当前行。 |
Key | Description |
---|---|
|
终端宽度,类型为 Integer,如果没有设置,则默认为 NULL。 |