@ticatec/uniface-element 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -54
- package/README_CN.md +37 -57
- package/dist/app_layout/ClassicLayout.svelte +8 -40
- package/dist/app_layout/ColumnsLayout.svelte +3 -3
- package/dist/app_layout/HeaderLayout.svelte +4 -20
- package/dist/app_layout/RowsLayout.svelte +3 -3
- package/dist/app_layout/SidebarLayout.svelte +4 -20
- package/dist/base-calendar/CalendarBase.svelte +29 -6
- package/dist/base-calendar/CalendarBase.svelte.d.ts +4 -0
- package/dist/base-calendar/MonthPickupPanel.svelte +19 -6
- package/dist/base-calendar/MonthPickupPanel.svelte.d.ts +1 -1
- package/dist/base-calendar/MonthlyCalendar.svelte +18 -2
- package/dist/base-calendar/YearPickupPanel.svelte +24 -6
- package/dist/base-calendar/YearPickupPanel.svelte.d.ts +1 -1
- package/dist/composite/pagination_panel/PaginationPanel.svelte +2 -0
- package/dist/composite/transfer/Transfer.svelte +12 -6
- package/dist/data_display/accordion/Accordion.svelte +1 -4
- package/dist/data_display/card/CommonCardActionBar.svelte +31 -37
- package/dist/data_display/concise_data_table/Column.d.ts +6 -0
- package/dist/data_display/concise_data_table/ConciseListTable.svelte +4 -3
- package/dist/data_display/concise_data_table/DataCell.svelte +3 -3
- package/dist/data_display/list_box/ListBox.svelte +96 -23
- package/dist/data_display/list_box/ListBox.svelte.d.ts +4 -0
- package/dist/data_display/tree_view/TreeNodeView.svelte +25 -4
- package/dist/data_table/DataTable.svelte +5 -5
- package/dist/data_table/DataTable.svelte.d.ts +36 -16
- package/dist/data_table/lib/ActionsColumn.d.ts +2 -2
- package/dist/data_table/lib/DataColumn.d.ts +7 -1
- package/dist/data_table/lib/RowAction.d.ts +5 -5
- package/dist/data_table/lib/clickOutSide.js +6 -5
- package/dist/data_table/parts/FixedHeaderPanel.svelte +18 -3
- package/dist/data_table/parts/FixedRow.svelte +10 -1
- package/dist/data_table/parts/HrefCell.svelte +1 -1
- package/dist/data_table/parts/TableHeaderPanel.svelte +18 -2
- package/dist/data_table/parts/TextCell.svelte +2 -2
- package/dist/form/attachment_files/AttachmentEditor.svelte +20 -15
- package/dist/form/attachment_files/FileRender.svelte +1 -1
- package/dist/form/attachment_files/FileUploadBar.svelte +5 -2
- package/dist/form/attachment_files/FileUploadPanel.svelte +11 -73
- package/dist/form/cascade_options_select/CascadeOptionSelect.svelte +10 -2
- package/dist/form/cascade_options_select/OptionsBox.svelte +48 -2
- package/dist/form/checkbox/CheckBox.svelte +2 -7
- package/dist/form/color_picker/ColorPicker.svelte +150 -35
- package/dist/form/color_picker/ColorPicker.svelte.d.ts +7 -25
- package/dist/form/color_picker/ColorPickerPanel.svelte +23 -20
- package/dist/form/color_picker/ColorPickerPanel.svelte.d.ts +5 -18
- package/dist/form/color_picker/README.md +14 -7
- package/dist/form/color_picker/README_CN.md +14 -7
- package/dist/form/common_editor/CommonEditor.svelte +18 -4
- package/dist/form/common_editor/CommonPicker.svelte +14 -10
- package/dist/form/common_editor/CommonPopupEditor.svelte +8 -1
- package/dist/form/common_range_editor/CommonRangeEditor.svelte +11 -2
- package/dist/form/date_picker/DatePicker.svelte +1 -1
- package/dist/form/date_picker/DateTimePicker.svelte +1 -1
- package/dist/form/date_picker/ScrollBar.svelte +20 -12
- package/dist/form/date_picker/ScrollBar.svelte.d.ts +4 -18
- package/dist/form/date_range/DateRangeEditor.svelte +11 -3
- package/dist/form/group_box/group-check-box/GroupCheckBox.svelte +6 -1
- package/dist/form/group_box/group-radio-box/GroupRadioBox.svelte +6 -1
- package/dist/form/image-files/ImageFilesField.svelte +51 -7
- package/dist/form/image-files/ImagePreview.svelte +23 -9
- package/dist/form/image-files/ImageRender.svelte +69 -11
- package/dist/form/input_options_select/InputOptionsSelect.svelte +10 -2
- package/dist/form/lookup_editor/LookupEditor.svelte +9 -2
- package/dist/form/memo_editor/MemoEditor.svelte +2 -2
- package/dist/form/number_editor/NumberEditor.svelte +2 -2
- package/dist/form/options_multi_select/OptionsMultiSelect.svelte +20 -12
- package/dist/form/options_select/OptionsSelect.svelte +15 -6
- package/dist/form/options_select/OptionsSelect.svelte.d.ts +39 -17
- package/dist/form/prompts_text_editor/PromptsTextEditor.svelte +10 -2
- package/dist/form/radio_button/RadioButton.svelte +2 -8
- package/dist/form/switch/Switch.svelte +4 -4
- package/dist/form/text_editor/TextEditor.svelte +2 -2
- package/dist/form/unit-number-editor/UnitNumberEditor.svelte +10 -2
- package/dist/general/button/Button.svelte +5 -0
- package/dist/general/button/Button.svelte.d.ts +1 -0
- package/dist/general/button/IconButton.svelte +3 -1
- package/dist/general/button/IconButton.svelte.d.ts +1 -0
- package/dist/general/button/TextButton.svelte +3 -0
- package/dist/general/button/TextButton.svelte.d.ts +1 -0
- package/dist/general/icon/Icon.svelte +18 -1
- package/dist/general/split/Split.svelte +24 -4
- package/dist/general/tag/Tag.svelte +9 -1
- package/dist/navigation/nav_menu/MenuItem.d.ts +4 -2
- package/dist/navigation/nav_menu/NavigatorMenu.svelte +157 -34
- package/dist/navigation/nav_menu/NavigatorMenu.svelte.d.ts +2 -3
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte +25 -13
- package/dist/navigation/nav_menu/NavigatorMenuItem.svelte.d.ts +3 -3
- package/dist/navigation/navigator/Navigator.svelte +17 -17
- package/dist/navigation/page-stack/PageStack.svelte +160 -0
- package/dist/navigation/page-stack/PageStack.svelte.d.ts +24 -0
- package/dist/navigation/page-stack/PageStackContext.d.ts +25 -0
- package/dist/navigation/page-stack/PageStackContext.js +12 -0
- package/dist/navigation/page-stack/PageStackFrame.svelte +24 -0
- package/dist/navigation/page-stack/PageStackFrame.svelte.d.ts +11 -0
- package/dist/navigation/page-stack/README.md +154 -0
- package/dist/navigation/page-stack/README_CN.md +154 -0
- package/dist/navigation/page-stack/index.d.ts +6 -0
- package/dist/navigation/page-stack/index.js +4 -0
- package/dist/navigation/pagination/Pagination.svelte +114 -14
- package/dist/navigation/progress_step_bar/ProgressStepBlock.svelte +1 -5
- package/dist/navigation/tabs/Tabs.svelte +42 -10
- package/dist/navigation/tabs/Tabs.svelte.d.ts +2 -2
- package/dist/overlay/common/FloatingPanel.svelte +3 -17
- package/dist/overlay/common/FullscreenOverlay.svelte +27 -3
- package/dist/overlay/common/FullscreenOverlay.svelte.d.ts +6 -27
- package/dist/overlay/common/ModalPopover.svelte +18 -2
- package/dist/overlay/common/Popover.svelte +61 -57
- package/dist/overlay/common/Popover.svelte.d.ts +1 -5
- package/dist/overlay/common/escapeClose.d.ts +28 -0
- package/dist/overlay/common/escapeClose.js +47 -0
- package/dist/overlay/common/focusTrap.d.ts +8 -0
- package/dist/overlay/common/focusTrap.js +83 -0
- package/dist/overlay/common/mountSingleton.d.ts +27 -0
- package/dist/overlay/common/mountSingleton.js +45 -0
- package/dist/overlay/common/outsideClick.d.ts +28 -0
- package/dist/overlay/common/outsideClick.js +20 -0
- package/dist/overlay/common/scrollLock.d.ts +8 -0
- package/dist/overlay/common/scrollLock.js +49 -0
- package/dist/overlay/common/uniface-utils.js +0 -1
- package/dist/overlay/context-menu/ContextMenu.svelte.js +2 -15
- package/dist/overlay/context-menu/ContextMenuPanel.svelte +27 -3
- package/dist/overlay/dialog/Dialog.svelte +48 -32
- package/dist/overlay/dialog/DialogManager.svelte.js +7 -9
- package/dist/overlay/dialog/DialogWrapper.svelte +5 -2
- package/dist/overlay/drawer/Drawer.svelte +30 -3
- package/dist/overlay/indicator/Indicator.svelte.js +2 -15
- package/dist/overlay/indicator/IndicatorPanel.svelte +4 -1
- package/dist/overlay/message-box/MessageBox.svelte.js +2 -15
- package/dist/overlay/message-box/MessageBoxPanel.svelte +19 -3
- package/dist/overlay/toast/Toast.svelte.js +2 -15
- package/dist/overlay/toast/ToastPanel.svelte +1 -1
- package/dist/overlay/tooltip/Tooltip.svelte +1 -1
- package/dist/ticatec-uniface-web.css +128 -13
- package/dist/types.d.ts +4 -3
- package/dist/utils/prefixFilter.d.ts +3 -3
- package/dist/utils/prefixFilter.js +3 -5
- package/docs/components/README.md +133 -0
- package/docs/components/accordion/README.md +60 -0
- package/docs/components/accordion/example.svelte +7 -0
- package/docs/components/action-bar/README.md +114 -0
- package/docs/components/action-bar/example.svelte +7 -0
- package/docs/components/app-top-bar/README.md +60 -0
- package/docs/components/app-top-bar/example.svelte +9 -0
- package/docs/components/attachment-files/README.md +332 -0
- package/docs/components/attachment-files/example.svelte +16 -0
- package/docs/components/box/README.md +63 -0
- package/docs/components/box/example.svelte +10 -0
- package/docs/components/breadcrumbs/README.md +86 -0
- package/docs/components/breadcrumbs/example.svelte +11 -0
- package/docs/components/button/README.md +103 -0
- package/docs/components/button/example.svelte +10 -0
- package/docs/components/card/README.md +113 -0
- package/docs/components/card/example.svelte +10 -0
- package/docs/components/cascade-options-select/README.md +162 -0
- package/docs/components/cascade-options-select/example.svelte +18 -0
- package/docs/components/checkbox/README.md +103 -0
- package/docs/components/checkbox/example.svelte +15 -0
- package/docs/components/classic-layout/README.md +76 -0
- package/docs/components/classic-layout/example.svelte +16 -0
- package/docs/components/color-picker/README.md +132 -0
- package/docs/components/color-picker/example.svelte +16 -0
- package/docs/components/columns-layout/README.md +70 -0
- package/docs/components/columns-layout/example.svelte +12 -0
- package/docs/components/common-dialog/README.md +109 -0
- package/docs/components/common-dialog/example.svelte +12 -0
- package/docs/components/concise-data-table/README.md +307 -0
- package/docs/components/concise-data-table/example.svelte +16 -0
- package/docs/components/context-menu/README.md +99 -0
- package/docs/components/context-menu/example.svelte +10 -0
- package/docs/components/criteria-field/README.md +69 -0
- package/docs/components/criteria-field/example.svelte +9 -0
- package/docs/components/data-table/README.md +365 -0
- package/docs/components/data-table/example.svelte +23 -0
- package/docs/components/date-picker/README.md +136 -0
- package/docs/components/date-picker/example.svelte +16 -0
- package/docs/components/date-range/README.md +122 -0
- package/docs/components/date-range/example.svelte +15 -0
- package/docs/components/date-time-picker/README.md +142 -0
- package/docs/components/date-time-picker/example.svelte +16 -0
- package/docs/components/dialog/README.md +174 -0
- package/docs/components/dialog/example.svelte +13 -0
- package/docs/components/dialog-board/README.md +41 -0
- package/docs/components/dialog-board/example.svelte +5 -0
- package/docs/components/drawer/README.md +70 -0
- package/docs/components/drawer/example.svelte +12 -0
- package/docs/components/flex-form/README.md +55 -0
- package/docs/components/flex-form/example.svelte +7 -0
- package/docs/components/flex-row-form/README.md +56 -0
- package/docs/components/flex-row-form/example.svelte +7 -0
- package/docs/components/form-field/README.md +84 -0
- package/docs/components/form-field/example.svelte +10 -0
- package/docs/components/full-screen-overlay/README.md +66 -0
- package/docs/components/full-screen-overlay/example.svelte +11 -0
- package/docs/components/grid-form/README.md +75 -0
- package/docs/components/grid-form/example.svelte +9 -0
- package/docs/components/group-check-box/README.md +147 -0
- package/docs/components/group-check-box/example.svelte +21 -0
- package/docs/components/group-radio-box/README.md +144 -0
- package/docs/components/group-radio-box/example.svelte +21 -0
- package/docs/components/header-layout/README.md +65 -0
- package/docs/components/header-layout/example.svelte +12 -0
- package/docs/components/icon/README.md +87 -0
- package/docs/components/icon/example.svelte +9 -0
- package/docs/components/icon-button/README.md +91 -0
- package/docs/components/icon-button/example.svelte +10 -0
- package/docs/components/image-files/README.md +174 -0
- package/docs/components/image-files/example.svelte +19 -0
- package/docs/components/indicator/README.md +53 -0
- package/docs/components/indicator/example.svelte +14 -0
- package/docs/components/input-options-select/README.md +163 -0
- package/docs/components/input-options-select/example.svelte +16 -0
- package/docs/components/list-box/ListItem.svelte +14 -0
- package/docs/components/list-box/README.md +221 -0
- package/docs/components/list-box/example.svelte +61 -0
- package/docs/components/lookup-editor/README.md +137 -0
- package/docs/components/lookup-editor/example.svelte +16 -0
- package/docs/components/memo-editor/README.md +143 -0
- package/docs/components/memo-editor/example.svelte +16 -0
- package/docs/components/message-box/README.md +68 -0
- package/docs/components/message-box/example.svelte +10 -0
- package/docs/components/navigator/README.md +75 -0
- package/docs/components/navigator/example.svelte +13 -0
- package/docs/components/navigator-menu/README.md +113 -0
- package/docs/components/navigator-menu/example.svelte +10 -0
- package/docs/components/number-editor/README.md +144 -0
- package/docs/components/number-editor/example.svelte +16 -0
- package/docs/components/number-range/README.md +116 -0
- package/docs/components/number-range/example.svelte +15 -0
- package/docs/components/options-multi-select/README.md +161 -0
- package/docs/components/options-multi-select/example.svelte +20 -0
- package/docs/components/options-select/README.md +160 -0
- package/docs/components/options-select/example.svelte +21 -0
- package/docs/components/page/README.md +77 -0
- package/docs/components/page/example.svelte +10 -0
- package/docs/components/pagination/README.md +88 -0
- package/docs/components/pagination/example.svelte +10 -0
- package/docs/components/pagination-panel/README.md +120 -0
- package/docs/components/pagination-panel/example.svelte +16 -0
- package/docs/components/popup-hint/README.md +44 -0
- package/docs/components/popup-hint/example.svelte +5 -0
- package/docs/components/progress-bar/README.md +64 -0
- package/docs/components/progress-bar/example.svelte +8 -0
- package/docs/components/progress-step-bar/README.md +93 -0
- package/docs/components/progress-step-bar/example.svelte +7 -0
- package/docs/components/prompts-text-editor/README.md +146 -0
- package/docs/components/prompts-text-editor/example.svelte +17 -0
- package/docs/components/radio-button/README.md +121 -0
- package/docs/components/radio-button/example.svelte +18 -0
- package/docs/components/rows-layout/README.md +70 -0
- package/docs/components/rows-layout/example.svelte +12 -0
- package/docs/components/search-box/README.md +136 -0
- package/docs/components/search-box/example.svelte +16 -0
- package/docs/components/separator/README.md +44 -0
- package/docs/components/separator/example.svelte +7 -0
- package/docs/components/sidebar-layout/README.md +65 -0
- package/docs/components/sidebar-layout/example.svelte +12 -0
- package/docs/components/split/README.md +48 -0
- package/docs/components/split/example.svelte +8 -0
- package/docs/components/switch/README.md +77 -0
- package/docs/components/switch/example.svelte +11 -0
- package/docs/components/tabs/README.md +127 -0
- package/docs/components/tabs/example.svelte +22 -0
- package/docs/components/tag/README.md +63 -0
- package/docs/components/tag/example.svelte +8 -0
- package/docs/components/text-button/README.md +90 -0
- package/docs/components/text-button/example.svelte +9 -0
- package/docs/components/text-editor/README.md +147 -0
- package/docs/components/text-editor/example.svelte +16 -0
- package/docs/components/time-editor/README.md +130 -0
- package/docs/components/time-editor/example.svelte +16 -0
- package/docs/components/toast/README.md +52 -0
- package/docs/components/toast/example.svelte +9 -0
- package/docs/components/tooltip/README.md +44 -0
- package/docs/components/tooltip/example.svelte +5 -0
- package/docs/components/transfer/README.md +109 -0
- package/docs/components/transfer/example.svelte +13 -0
- package/docs/components/tree-view/README.md +163 -0
- package/docs/components/tree-view/example.svelte +26 -0
- package/docs/components/unit-number-editor/README.md +192 -0
- package/docs/components/unit-number-editor/example.svelte +18 -0
- package/package.json +15 -7
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# RowsLayout
|
|
2
|
+
|
|
3
|
+
应用布局组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
以多行区域组织应用内容的布局。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 上下分区工作台和固定工具区
|
|
12
|
+
- 多个纵向区域需要独立高度配置
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import RowsLayout from '@ticatec/uniface-element/app-layout/RowsLayout';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `width` | 否 | `string` | 否 | `'100%'` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
25
|
+
| `height` | 否 | `string` | 否 | `'100%'` | 否 | 高度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
26
|
+
| `topHeight` | 否 | `string \| null` | 否 | `null` | 否 | 高度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
27
|
+
| `bottomHeight` | 否 | `string \| null` | 否 | `null` | 否 | 高度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
28
|
+
| `topMin` | 否 | `string \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
29
|
+
| `topMax` | 否 | `string \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
30
|
+
| `bottomMin` | 否 | `string \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
31
|
+
| `bottomMax` | 否 | `string \| null` | 否 | `null` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
32
|
+
| `topResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
33
|
+
| `bottomResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
34
|
+
| `top` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
35
|
+
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
|
36
|
+
| `bottom` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
37
|
+
|
|
38
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
39
|
+
|
|
40
|
+
## 重要属性说明
|
|
41
|
+
|
|
42
|
+
### `children`
|
|
43
|
+
|
|
44
|
+
Svelte Snippet 子内容,用于自定义组件主体。
|
|
45
|
+
|
|
46
|
+
- 类型:`Snippet`
|
|
47
|
+
- 默认值:`undefined`
|
|
48
|
+
- 示例写法:`children={children}`
|
|
49
|
+
|
|
50
|
+
## 示例
|
|
51
|
+
|
|
52
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
53
|
+
```svelte
|
|
54
|
+
<script lang="ts">
|
|
55
|
+
import RowsLayout from '@ticatec/uniface-element/app-layout/RowsLayout';
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
<RowsLayout
|
|
59
|
+
width="240px"
|
|
60
|
+
height="48px"
|
|
61
|
+
topHeight="48px"
|
|
62
|
+
bottomHeight="48px"
|
|
63
|
+
>
|
|
64
|
+
<div>在这里放置子内容</div>
|
|
65
|
+
</RowsLayout>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 源码
|
|
69
|
+
|
|
70
|
+
- `src/lib/app_layout/RowsLayout.svelte`
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# SearchBox
|
|
2
|
+
|
|
3
|
+
表单组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
带搜索图标和输入事件的搜索框。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 列表关键词搜索和快速定位
|
|
12
|
+
- 需要即时过滤或回车触发查询
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import SearchBox from '@ticatec/uniface-element/SearchBox';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `theme` | 否 | `string` | 否 | `undefined` | 否 | 主题样式名称,用于切换组件外观主题 |
|
|
25
|
+
| `tooltip` | 否 | `string` | 否 | `undefined` | 否 | 悬停提示信息,鼠标悬浮在字段上时显示 |
|
|
26
|
+
| `error` | 否 | `string` | 否 | `undefined` | 否 | 错误信息,用于在字段下方展示校验错误提示 |
|
|
27
|
+
| `disabled` | 是 | `boolean` | 否 | `false` | 否 | 是否禁用该字段,禁用后字段不可编辑且不响应交互 |
|
|
28
|
+
| `readonly` | 是 | `boolean` | 否 | `undefined` | 否 | 是否只读,只读状态下字段不可编辑但可聚焦和复制 |
|
|
29
|
+
| `compact` | 否 | `boolean` | 否 | `false` | 否 | 是否启用紧凑模式,紧凑模式下字段内部间距更小 |
|
|
30
|
+
| `variant` | 是 | `EditorVariant` | 否 | `undefined` | 否 | 编辑器外观样式变体 |
|
|
31
|
+
| `placeholder` | 是 | `string` | 否 | `undefined` | 否 | 占位提示文本,字段值为空时在输入区域内展示 |
|
|
32
|
+
| `style` | 否 | `string` | 否 | `undefined` | 否 | 自定义内联样式,会应用到字段根容器上 |
|
|
33
|
+
| `onfocus` | 否 | `(event: FocusEvent) => void` | 否 | `undefined` | 否 | 字段获得焦点时触发的回调 |
|
|
34
|
+
| `onblur` | 否 | `(event: FocusEvent) => void` | 否 | `undefined` | 否 | 字段失去焦点时触发的回调 |
|
|
35
|
+
| `onchange` | 是 | `(value?: any) => void` | 否 | `undefined` | 否 | 字段值发生变化时触发的回调 |
|
|
36
|
+
| `onkeydown` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
37
|
+
| `onkeyup` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
38
|
+
| `onkeypress` | 否 | `(event: KeyboardEvent) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
39
|
+
| `value` | 是 | `string` | 否 | `$bindable()` | 是 | 组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。 |
|
|
40
|
+
| `oninput` | 否 | `(event: Event) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
41
|
+
|
|
42
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
43
|
+
|
|
44
|
+
## 重要属性说明
|
|
45
|
+
|
|
46
|
+
### `disabled`
|
|
47
|
+
|
|
48
|
+
是否禁用该字段,禁用后字段不可编辑且不响应交互
|
|
49
|
+
|
|
50
|
+
- 类型:`boolean`
|
|
51
|
+
- 默认值:`false`
|
|
52
|
+
- 示例写法:`disabled={false}`
|
|
53
|
+
|
|
54
|
+
### `readonly`
|
|
55
|
+
|
|
56
|
+
是否只读,只读状态下字段不可编辑但可聚焦和复制
|
|
57
|
+
|
|
58
|
+
- 类型:`boolean`
|
|
59
|
+
- 默认值:`undefined`
|
|
60
|
+
- 示例写法:`readonly={false}`
|
|
61
|
+
|
|
62
|
+
### `variant`
|
|
63
|
+
|
|
64
|
+
编辑器外观样式变体
|
|
65
|
+
|
|
66
|
+
- 类型:`EditorVariant`
|
|
67
|
+
- 默认值:`undefined`
|
|
68
|
+
- 示例写法:`variant="plain"`
|
|
69
|
+
|
|
70
|
+
### `placeholder`
|
|
71
|
+
|
|
72
|
+
占位提示文本,字段值为空时在输入区域内展示
|
|
73
|
+
|
|
74
|
+
- 类型:`string`
|
|
75
|
+
- 默认值:`undefined`
|
|
76
|
+
- 示例写法:`placeholder="请输入或选择"`
|
|
77
|
+
|
|
78
|
+
### `onchange`
|
|
79
|
+
|
|
80
|
+
字段值发生变化时触发的回调
|
|
81
|
+
|
|
82
|
+
- 类型:`(value?: any) => void`
|
|
83
|
+
- 默认值:`undefined`
|
|
84
|
+
- 示例写法:`onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}`
|
|
85
|
+
|
|
86
|
+
### `value`
|
|
87
|
+
|
|
88
|
+
组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。
|
|
89
|
+
|
|
90
|
+
- 类型:`string`
|
|
91
|
+
- 默认值:`$bindable()`
|
|
92
|
+
- 推荐写法:`bind:value`
|
|
93
|
+
|
|
94
|
+
## 组件实例方法
|
|
95
|
+
|
|
96
|
+
通过 `bind:this` 获取组件实例后调用。
|
|
97
|
+
|
|
98
|
+
| 方法 | 类型 | 说明 |
|
|
99
|
+
| --- | --- | --- |
|
|
100
|
+
| `focus()` | `() => void` | 组件实例方法。 |
|
|
101
|
+
|
|
102
|
+
## 相关类型定义
|
|
103
|
+
|
|
104
|
+
以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
|
|
105
|
+
|
|
106
|
+
### `EditorVariant`
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
export type EditorVariant = '' | 'plain' | 'outlined' | 'filled';
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## 示例
|
|
113
|
+
|
|
114
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
115
|
+
```svelte
|
|
116
|
+
<script lang="ts">
|
|
117
|
+
import SearchBox from '@ticatec/uniface-element/SearchBox';
|
|
118
|
+
let value = $state<any>("示例值");
|
|
119
|
+
</script>
|
|
120
|
+
|
|
121
|
+
<SearchBox
|
|
122
|
+
bind:value
|
|
123
|
+
onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}
|
|
124
|
+
onfocus={async (...args: any[]) => { console.log('onfocus', ...args); return true; }}
|
|
125
|
+
variant="plain"
|
|
126
|
+
placeholder="请输入或选择"
|
|
127
|
+
disabled={false}
|
|
128
|
+
readonly={false}
|
|
129
|
+
compact={true}
|
|
130
|
+
/>
|
|
131
|
+
<p>当前状态:{JSON.stringify({value})}</p>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## 源码
|
|
135
|
+
|
|
136
|
+
- `src/lib/form/search_box/SearchBox.svelte`
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import SearchBox from '@ticatec/uniface-element/SearchBox';
|
|
3
|
+
let value = $state<any>("示例值");
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<SearchBox
|
|
7
|
+
bind:value
|
|
8
|
+
onchange={async (...args: any[]) => { console.log('onchange', ...args); return true; }}
|
|
9
|
+
onfocus={async (...args: any[]) => { console.log('onfocus', ...args); return true; }}
|
|
10
|
+
variant="plain"
|
|
11
|
+
placeholder="请输入或选择"
|
|
12
|
+
disabled={false}
|
|
13
|
+
readonly={false}
|
|
14
|
+
compact={true}
|
|
15
|
+
/>
|
|
16
|
+
<p>当前状态:{JSON.stringify({value})}</p>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Separator
|
|
2
|
+
|
|
3
|
+
通用组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
在内容之间绘制视觉分隔线。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 菜单、工具栏和表单分组
|
|
12
|
+
- 需要弱化但明确的区域边界
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import Separator from '@ticatec/uniface-element/Separator';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `height` | 否 | `string` | 否 | `'24px'` | 否 | 高度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
25
|
+
| `style` | 否 | `string` | 否 | `undefined` | 否 | 附加到组件根元素的内联样式。 |
|
|
26
|
+
|
|
27
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
28
|
+
|
|
29
|
+
## 示例
|
|
30
|
+
|
|
31
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
32
|
+
```svelte
|
|
33
|
+
<script lang="ts">
|
|
34
|
+
import Separator from '@ticatec/uniface-element/Separator';
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<Separator
|
|
38
|
+
height="48px"
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 源码
|
|
43
|
+
|
|
44
|
+
- `src/lib/general/separator/Separator.svelte`
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# SidebarLayout
|
|
2
|
+
|
|
3
|
+
应用布局组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
包含可配置侧栏和主内容区的布局。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 后台导航、资源树和主工作区
|
|
12
|
+
- 需要固定或可调整宽度的侧栏
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import SidebarLayout from '@ticatec/uniface-element/app-layout/SidebarLayout';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `sidebarResize` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
25
|
+
| `headerHeight` | 否 | `string` | 否 | `"48px"` | 否 | 高度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
26
|
+
| `sidebarWidth` | 否 | `string` | 否 | `'300px'` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
27
|
+
| `sidebarMaxWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
28
|
+
| `sidebarMinWidth` | 否 | `string \| null` | 否 | `null` | 否 | 宽度配置;字符串可以使用 px、rem、% 等 CSS 单位。 |
|
|
29
|
+
| `sidebar` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
30
|
+
| `header` | 否 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 渲染入口,用于替换或补充默认内容。 |
|
|
31
|
+
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
|
32
|
+
|
|
33
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
34
|
+
|
|
35
|
+
## 重要属性说明
|
|
36
|
+
|
|
37
|
+
### `children`
|
|
38
|
+
|
|
39
|
+
Svelte Snippet 子内容,用于自定义组件主体。
|
|
40
|
+
|
|
41
|
+
- 类型:`Snippet`
|
|
42
|
+
- 默认值:`undefined`
|
|
43
|
+
- 示例写法:`children={children}`
|
|
44
|
+
|
|
45
|
+
## 示例
|
|
46
|
+
|
|
47
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
48
|
+
```svelte
|
|
49
|
+
<script lang="ts">
|
|
50
|
+
import SidebarLayout from '@ticatec/uniface-element/app-layout/SidebarLayout';
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<SidebarLayout
|
|
54
|
+
headerHeight="48px"
|
|
55
|
+
sidebarWidth="240px"
|
|
56
|
+
sidebarMaxWidth="240px"
|
|
57
|
+
sidebarMinWidth="240px"
|
|
58
|
+
>
|
|
59
|
+
<div>在这里放置子内容</div>
|
|
60
|
+
</SidebarLayout>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 源码
|
|
64
|
+
|
|
65
|
+
- `src/lib/app_layout/SidebarLayout.svelte`
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import SidebarLayout from '@ticatec/uniface-element/app-layout/SidebarLayout';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<SidebarLayout
|
|
6
|
+
headerHeight="48px"
|
|
7
|
+
sidebarWidth="240px"
|
|
8
|
+
sidebarMaxWidth="240px"
|
|
9
|
+
sidebarMinWidth="240px"
|
|
10
|
+
>
|
|
11
|
+
<div>在这里放置子内容</div>
|
|
12
|
+
</SidebarLayout>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Split
|
|
2
|
+
|
|
3
|
+
通用组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
允许用户拖动调整两个区域尺寸的分割容器。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 编辑器、预览器和主从面板
|
|
12
|
+
- 需要运行时调整左右或上下空间比例
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import Split from '@ticatec/uniface-element/Split';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `direction` | 否 | `"horizontal" \| "vertical"` | 否 | `"vertical"` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
25
|
+
| `width` | 否 | `number` | 否 | `2` | 否 | 宽度配置,数值单位为像素。 |
|
|
26
|
+
| `bindingPanel` | 否 | `HTMLElement` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
27
|
+
| `reverse` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
28
|
+
| `onResizeEnd` | 否 | `(size: number) => void` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
29
|
+
|
|
30
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
31
|
+
|
|
32
|
+
## 示例
|
|
33
|
+
|
|
34
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
35
|
+
```svelte
|
|
36
|
+
<script lang="ts">
|
|
37
|
+
import Split from '@ticatec/uniface-element/Split';
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<Split
|
|
41
|
+
onResizeEnd={async (...args: any[]) => { console.log('onResizeEnd', ...args); return true; }}
|
|
42
|
+
width={240}
|
|
43
|
+
/>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 源码
|
|
47
|
+
|
|
48
|
+
- `src/lib/general/split/Split.svelte`
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Switch
|
|
2
|
+
|
|
3
|
+
表单组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
用于即时切换开/关状态的开关控件。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 启用功能、在线状态和配置开关
|
|
12
|
+
- 修改立即生效且语义为布尔状态
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import Switch from '@ticatec/uniface-element/Switch';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `checkLabel` | 否 | `string` | 否 | `"On"` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
25
|
+
| `uncheckLabel` | 否 | `string` | 否 | `"Off"` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
26
|
+
| `readonly` | 是 | `boolean` | 否 | `false` | 否 | 只读状态。保留内容展示,但阻止用户修改。 |
|
|
27
|
+
| `disabled` | 是 | `boolean` | 否 | `false` | 否 | 禁用交互。禁用后通常不可聚焦、不可修改,也不会触发变更操作。 |
|
|
28
|
+
| `value` | 是 | `boolean` | 否 | `$bindable(false)` | 是 | 组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。 |
|
|
29
|
+
|
|
30
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
31
|
+
|
|
32
|
+
## 重要属性说明
|
|
33
|
+
|
|
34
|
+
### `readonly`
|
|
35
|
+
|
|
36
|
+
只读状态。保留内容展示,但阻止用户修改。
|
|
37
|
+
|
|
38
|
+
- 类型:`boolean`
|
|
39
|
+
- 默认值:`false`
|
|
40
|
+
- 示例写法:`readonly={false}`
|
|
41
|
+
|
|
42
|
+
### `disabled`
|
|
43
|
+
|
|
44
|
+
禁用交互。禁用后通常不可聚焦、不可修改,也不会触发变更操作。
|
|
45
|
+
|
|
46
|
+
- 类型:`boolean`
|
|
47
|
+
- 默认值:`false`
|
|
48
|
+
- 示例写法:`disabled={false}`
|
|
49
|
+
|
|
50
|
+
### `value`
|
|
51
|
+
|
|
52
|
+
组件的核心值。支持绑定时建议使用 `bind:value`,外部修改会同步到组件。
|
|
53
|
+
|
|
54
|
+
- 类型:`boolean`
|
|
55
|
+
- 默认值:`$bindable(false)`
|
|
56
|
+
- 推荐写法:`bind:value`
|
|
57
|
+
|
|
58
|
+
## 示例
|
|
59
|
+
|
|
60
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
61
|
+
```svelte
|
|
62
|
+
<script lang="ts">
|
|
63
|
+
import Switch from '@ticatec/uniface-element/Switch';
|
|
64
|
+
let value = $state<any>(true);
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<Switch
|
|
68
|
+
bind:value
|
|
69
|
+
readonly={false}
|
|
70
|
+
disabled={false}
|
|
71
|
+
/>
|
|
72
|
+
<p>当前状态:{JSON.stringify({value})}</p>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 源码
|
|
76
|
+
|
|
77
|
+
- `src/lib/form/switch/Switch.svelte`
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Tabs
|
|
2
|
+
|
|
3
|
+
导航组件。本文档由源码自动生成,类型以当前版本为准。
|
|
4
|
+
|
|
5
|
+
## 简介
|
|
6
|
+
|
|
7
|
+
通过标签切换同一页面内的内容或工作对象。
|
|
8
|
+
|
|
9
|
+
## 适用场景
|
|
10
|
+
|
|
11
|
+
- 详情子页面、多文档和配置分类
|
|
12
|
+
- 需要动态关闭、刷新或横向滚动标签
|
|
13
|
+
|
|
14
|
+
## 导入
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import Tabs from '@ticatec/uniface-element/Tabs';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 属性
|
|
21
|
+
|
|
22
|
+
| 属性 | 重要 | 类型 | 必填 | 默认值 | 可绑定/响应式 | 说明 |
|
|
23
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
24
|
+
| `class` | 否 | `string` | 否 | `undefined` | 否 | 附加到组件根元素的 CSS class。 |
|
|
25
|
+
| `simple` | 否 | `boolean` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
26
|
+
| `textField` | 否 | `string` | 否 | `'text'` | 否 | 数据项中用于界面显示的文本字段名。 |
|
|
27
|
+
| `keyField` | 否 | `string` | 否 | `'id'` | 否 | 数据项中作为唯一值或选中值的字段名。 |
|
|
28
|
+
| `style` | 否 | `string` | 否 | `undefined` | 否 | 附加到组件根元素的内联样式。 |
|
|
29
|
+
| `tabs` | 是 | `Array<any>` | 是 | `$bindable([])` | 是 | 标签页数据集合;每个标签应包含 `keyField` 与 `textField` 指向的字段。 |
|
|
30
|
+
| `scrollStep` | 否 | `number` | 否 | `100` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
31
|
+
| `closable` | 否 | `boolean \| TabActionHandler` | 否 | `false` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
32
|
+
| `activeTab` | 是 | `any` | 否 | `$bindable()` | 是 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
33
|
+
| `maxTabWidth` | 否 | `number` | 否 | `undefined` | 否 | 宽度配置,数值单位为像素。 |
|
|
34
|
+
| `tabRender` | 否 | `TabRender` | 否 | `undefined` | 否 | 可选配置,具体取值范围和数据结构见类型列。 |
|
|
35
|
+
| `onrefresh` | 否 | `TabActionHandler` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
36
|
+
| `onremove` | 是 | `TabCloseHandler` | 否 | `undefined` | 否 | 事件或行为回调;参数与返回值以类型签名为准。 |
|
|
37
|
+
| `children` | 是 | `Snippet` | 否 | `undefined` | 否 | Svelte Snippet 子内容,用于自定义组件主体。 |
|
|
38
|
+
|
|
39
|
+
> 组件的“可绑定”表示源码使用了 Svelte 5 的 `$bindable`;服务的“响应式”表示成员使用了 `$state`。复杂类型请同时参考 TypeScript 自动补全。
|
|
40
|
+
|
|
41
|
+
## 重要属性说明
|
|
42
|
+
|
|
43
|
+
### `tabs`
|
|
44
|
+
|
|
45
|
+
标签页数据集合;每个标签应包含 `keyField` 与 `textField` 指向的字段。
|
|
46
|
+
|
|
47
|
+
- 类型:`Array<any>`
|
|
48
|
+
- 默认值:`$bindable([])`
|
|
49
|
+
- 推荐写法:`bind:tabs`
|
|
50
|
+
|
|
51
|
+
### `activeTab`
|
|
52
|
+
|
|
53
|
+
可选配置,具体取值范围和数据结构见类型列。
|
|
54
|
+
|
|
55
|
+
- 类型:`any`
|
|
56
|
+
- 默认值:`$bindable()`
|
|
57
|
+
- 推荐写法:`bind:activeTab`
|
|
58
|
+
|
|
59
|
+
### `onremove`
|
|
60
|
+
|
|
61
|
+
事件或行为回调;参数与返回值以类型签名为准。
|
|
62
|
+
|
|
63
|
+
- 类型:`TabCloseHandler`
|
|
64
|
+
- 默认值:`undefined`
|
|
65
|
+
- 示例写法:`onremove={async (...args: any[]) => { console.log('onremove', ...args); return true; }}`
|
|
66
|
+
|
|
67
|
+
### `children`
|
|
68
|
+
|
|
69
|
+
Svelte Snippet 子内容,用于自定义组件主体。
|
|
70
|
+
|
|
71
|
+
- 类型:`Snippet`
|
|
72
|
+
- 默认值:`undefined`
|
|
73
|
+
- 示例写法:`children={children}`
|
|
74
|
+
|
|
75
|
+
## 相关类型定义
|
|
76
|
+
|
|
77
|
+
以下定义帮助理解复杂属性的数据结构;其中部分辅助类型属于内部实现,不一定是独立导出入口。
|
|
78
|
+
|
|
79
|
+
### `TabActionHandler`
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
export type TabActionHandler = (tab: any) => void;
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### `TabRender`
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
export type TabRender = (tab: any) => any;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### `TabCloseHandler`
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
export type TabCloseHandler = (tab: any) => boolean | Promise<boolean>;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 示例
|
|
98
|
+
|
|
99
|
+
完整示例见 [example.svelte](./example.svelte)。
|
|
100
|
+
```svelte
|
|
101
|
+
<script lang="ts">
|
|
102
|
+
import Tabs from '@ticatec/uniface-element/Tabs';
|
|
103
|
+
let tabs = $state<any>([
|
|
104
|
+
{id: 'overview', text: '概览'},
|
|
105
|
+
{id: 'settings', text: '设置'}
|
|
106
|
+
]);
|
|
107
|
+
let activeTab = $state<any>();
|
|
108
|
+
</script>
|
|
109
|
+
|
|
110
|
+
<Tabs
|
|
111
|
+
bind:tabs
|
|
112
|
+
bind:activeTab
|
|
113
|
+
onrefresh={async (...args: any[]) => { console.log('onrefresh', ...args); return true; }}
|
|
114
|
+
onremove={async (...args: any[]) => { console.log('onremove', ...args); return true; }}
|
|
115
|
+
textField="text"
|
|
116
|
+
keyField="id"
|
|
117
|
+
closable={true}
|
|
118
|
+
maxTabWidth={240}
|
|
119
|
+
>
|
|
120
|
+
<div>在这里放置子内容</div>
|
|
121
|
+
</Tabs>
|
|
122
|
+
<p>当前状态:{JSON.stringify({tabs, activeTab})}</p>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## 源码
|
|
126
|
+
|
|
127
|
+
- `src/lib/navigation/tabs/Tabs.svelte`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import Tabs from '@ticatec/uniface-element/Tabs';
|
|
3
|
+
let tabs = $state<any>([
|
|
4
|
+
{id: 'overview', text: '概览'},
|
|
5
|
+
{id: 'settings', text: '设置'}
|
|
6
|
+
]);
|
|
7
|
+
let activeTab = $state<any>();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<Tabs
|
|
11
|
+
bind:tabs
|
|
12
|
+
bind:activeTab
|
|
13
|
+
onrefresh={async (...args: any[]) => { console.log('onrefresh', ...args); return true; }}
|
|
14
|
+
onremove={async (...args: any[]) => { console.log('onremove', ...args); return true; }}
|
|
15
|
+
textField="text"
|
|
16
|
+
keyField="id"
|
|
17
|
+
closable={true}
|
|
18
|
+
maxTabWidth={240}
|
|
19
|
+
>
|
|
20
|
+
<div>在这里放置子内容</div>
|
|
21
|
+
</Tabs>
|
|
22
|
+
<p>当前状态:{JSON.stringify({tabs, activeTab})}</p>
|