@opentinyvue/vue-docs 3.27.6 → 3.28.1
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/demos/apis/base-select.js +2 -2
- package/demos/apis/drawer.js +14 -0
- package/demos/apis/dropdown.js +6 -2
- package/demos/apis/grid.js +1 -1
- package/demos/apis/modal.js +15 -1
- package/demos/apis/select-wrapper.js +1 -1
- package/demos/apis/select.js +1 -1
- package/demos/apis/switch.js +15 -0
- package/demos/apis/tree-menu.js +7 -4
- package/demos/apis/tree-select.js +41 -0
- package/demos/mobile-first/app/base-select/webdoc/base-select.js +3 -3
- package/demos/mobile-first/app/select-wrapper/all-text.vue +43 -0
- package/demos/mobile-first/app/select-wrapper/allow-create.vue +77 -0
- package/demos/mobile-first/app/select-wrapper/automatic-dropdown.vue +62 -0
- package/demos/mobile-first/app/select-wrapper/basic-usage.vue +47 -0
- package/demos/mobile-first/app/select-wrapper/binding-obj.vue +44 -0
- package/demos/mobile-first/app/select-wrapper/cache-usage.vue +49 -0
- package/demos/mobile-first/app/select-wrapper/clear-no-match-value.vue +54 -0
- package/demos/mobile-first/app/select-wrapper/clearable.vue +34 -0
- package/demos/mobile-first/app/select-wrapper/collapse-tags.vue +58 -0
- package/demos/mobile-first/app/select-wrapper/copy-multi.vue +77 -0
- package/demos/mobile-first/app/select-wrapper/copy-single.vue +157 -0
- package/demos/mobile-first/app/select-wrapper/disabled.vue +108 -0
- package/demos/mobile-first/app/select-wrapper/events.vue +112 -0
- package/demos/mobile-first/app/select-wrapper/extra-query-params.vue +157 -0
- package/demos/mobile-first/app/select-wrapper/filter-method.vue +85 -0
- package/demos/mobile-first/app/select-wrapper/filter-mode.vue +46 -0
- package/demos/mobile-first/app/select-wrapper/hide-drop.vue +34 -0
- package/demos/mobile-first/app/select-wrapper/init-label.vue +74 -0
- package/demos/mobile-first/app/select-wrapper/is-drop-inherit-width.vue +51 -0
- package/demos/mobile-first/app/select-wrapper/manual-focus-blur.vue +90 -0
- package/demos/mobile-first/app/select-wrapper/map-field.vue +68 -0
- package/demos/mobile-first/app/select-wrapper/memoize-usage.vue +66 -0
- package/demos/mobile-first/app/select-wrapper/multiple-mix.vue +84 -0
- package/demos/mobile-first/app/select-wrapper/multiple.vue +133 -0
- package/demos/mobile-first/app/select-wrapper/native-properties.vue +34 -0
- package/demos/mobile-first/app/select-wrapper/nest-grid-disable.vue +122 -0
- package/demos/mobile-first/app/select-wrapper/nest-grid-init-query.vue +129 -0
- package/demos/mobile-first/app/select-wrapper/nest-grid-remote.vue +144 -0
- package/demos/mobile-first/app/select-wrapper/nest-grid.vue +106 -0
- package/demos/mobile-first/app/select-wrapper/nest-radio-grid-much-data.vue +50 -0
- package/demos/mobile-first/app/select-wrapper/nest-tree.vue +164 -0
- package/demos/mobile-first/app/select-wrapper/no-data-text.vue +48 -0
- package/demos/mobile-first/app/select-wrapper/optimization.vue +59 -0
- package/demos/mobile-first/app/select-wrapper/option-group.vue +105 -0
- package/demos/mobile-first/app/select-wrapper/popup-style-position.vue +40 -0
- package/demos/mobile-first/app/select-wrapper/remote-method.vue +286 -0
- package/demos/mobile-first/app/select-wrapper/show-alloption.vue +34 -0
- package/demos/mobile-first/app/select-wrapper/show-tip.vue +28 -0
- package/demos/mobile-first/app/select-wrapper/size.vue +57 -0
- package/demos/mobile-first/app/select-wrapper/slot-default.vue +95 -0
- package/demos/mobile-first/app/select-wrapper/slot-empty.vue +44 -0
- package/demos/mobile-first/app/select-wrapper/slot-header-footer.vue +55 -0
- package/demos/mobile-first/app/select-wrapper/slot-label.vue +85 -0
- package/demos/mobile-first/app/select-wrapper/slot-prefix.vue +39 -0
- package/demos/mobile-first/app/select-wrapper/slot-reference.vue +41 -0
- package/demos/mobile-first/app/select-wrapper/tag-type.vue +36 -0
- package/demos/mobile-first/app/select-wrapper/webdoc/select-wrapper.cn.md +7 -0
- package/demos/mobile-first/app/select-wrapper/webdoc/select-wrapper.en.md +7 -0
- package/demos/mobile-first/app/select-wrapper/webdoc/select-wrapper.js +695 -0
- package/demos/mobile-first/app/tree-select/lazy.vue +59 -0
- package/demos/mobile-first/app/tree-select/webdoc/tree-select.cn.md +0 -1
- package/demos/mobile-first/app/tree-select/webdoc/tree-select.en.md +0 -1
- package/demos/mobile-first/app/tree-select/webdoc/tree-select.js +12 -0
- package/demos/pc/app/amount/custom-service.spec.js +4 -4
- package/demos/pc/app/base-select/allow-create.spec.ts +3 -3
- package/demos/pc/app/base-select/automatic-dropdown.spec.ts +2 -2
- package/demos/pc/app/base-select/basic-usage.spec.ts +2 -2
- package/demos/pc/app/base-select/binding-obj.spec.ts +2 -2
- package/demos/pc/app/base-select/cache-usage.spec.ts +2 -2
- package/demos/pc/app/base-select/clearable.spec.ts +1 -1
- package/demos/pc/app/base-select/slot-reference.spec.ts +1 -1
- package/demos/pc/app/base-select/webdoc/base-select.js +3 -3
- package/demos/pc/app/cascader/filter-mode-composition-api.vue +2 -1
- package/demos/pc/app/checkbox/vertical-checkbox.spec.ts +4 -4
- package/demos/pc/app/color-select-panel/format.spec.ts +3 -3
- package/demos/pc/app/country/fields.spec.js +1 -1
- package/demos/pc/app/currency/basic-usage.spec.ts +1 -1
- package/demos/pc/app/currency/custom-service.spec.ts +3 -3
- package/demos/pc/app/date-panel/unlink-panels.spec.ts +12 -8
- package/demos/pc/app/dept/custom-service.spec.ts +6 -6
- package/demos/pc/app/drawer/close-on-press-escape-composition-api.vue +29 -0
- package/demos/pc/app/drawer/close-on-press-escape.spec.ts +19 -0
- package/demos/pc/app/drawer/close-on-press-escape.vue +38 -0
- package/demos/pc/app/drawer/webdoc/drawer.js +12 -0
- package/demos/pc/app/drop-roles/custom-service.spec.ts +1 -1
- package/demos/pc/app/drop-times/basic-usage.spec.ts +2 -2
- package/demos/pc/app/drop-times/start-end-step.spec.ts +1 -1
- package/demos/pc/app/dropdown/trigger-composition-api.vue +13 -0
- package/demos/pc/app/dropdown/trigger.spec.ts +13 -0
- package/demos/pc/app/dropdown/trigger.vue +13 -0
- package/demos/pc/app/dropdown/webdoc/dropdown.js +4 -4
- package/demos/pc/app/file-upload/upload-file-list-saas.spec.ts +0 -2
- package/demos/pc/app/form/basic-usage.spec.ts +2 -2
- package/demos/pc/app/grid/custom/column-simple.spec.js +2 -2
- package/demos/pc/app/grid/data-source/undefined-field-defalut-value-composition-api.vue +4 -1
- package/demos/pc/app/grid/data-source/undefined-field-defalut-value.spec.js +24 -0
- package/demos/pc/app/grid/data-source/undefined-field-defalut-value.vue +6 -2
- package/demos/pc/app/grid/editor/custom-editor-select-composition-api.vue +6 -1
- package/demos/pc/app/grid/editor/custom-editor-select.spec.js +5 -4
- package/demos/pc/app/grid/editor/custom-editor-select.vue +5 -1
- package/demos/pc/app/grid-select/extra-query-params.spec.ts +7 -12
- package/demos/pc/app/guide/basic-usage-composition-api.vue +4 -1
- package/demos/pc/app/guide/basic-usage.vue +4 -1
- package/demos/pc/app/guide/callback-composition-api.vue +1 -0
- package/demos/pc/app/guide/callback.vue +1 -0
- package/demos/pc/app/icon/advance-icons.js +126 -0
- package/demos/pc/app/icon/advance-usage-composition-api.vue +23 -1
- package/demos/pc/app/icon/advance-usage.vue +24 -1
- package/demos/pc/app/modal/modal-header.vue +16 -2
- package/demos/pc/app/modal/webdoc/modal.js +7 -6
- package/demos/pc/app/select/allow-create.spec.ts +3 -3
- package/demos/pc/app/select/automatic-dropdown.spec.ts +2 -2
- package/demos/pc/app/select/basic-usage.spec.ts +3 -3
- package/demos/pc/app/select/binding-obj.spec.ts +2 -2
- package/demos/pc/app/select/cache-usage.spec.ts +2 -2
- package/demos/pc/app/select/clearable.spec.ts +1 -1
- package/demos/pc/app/select/webdoc/select.js +3 -3
- package/demos/pc/app/select-wrapper/all-text.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/all-text.vue +1 -1
- package/demos/pc/app/select-wrapper/allow-create.spec.ts +5 -5
- package/demos/pc/app/select-wrapper/allow-create.vue +8 -1
- package/demos/pc/app/select-wrapper/automatic-dropdown.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/automatic-dropdown.vue +1 -1
- package/demos/pc/app/select-wrapper/basic-usage.spec.ts +5 -5
- package/demos/pc/app/select-wrapper/basic-usage.vue +1 -1
- package/demos/pc/app/select-wrapper/binding-obj.spec.ts +3 -3
- package/demos/pc/app/select-wrapper/binding-obj.vue +1 -1
- package/demos/pc/app/select-wrapper/cache-usage.spec.ts +3 -3
- package/demos/pc/app/select-wrapper/cache-usage.vue +1 -1
- package/demos/pc/app/select-wrapper/clear-no-match-value.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/clear-no-match-value.vue +1 -1
- package/demos/pc/app/select-wrapper/clearable.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/clearable.vue +1 -1
- package/demos/pc/app/select-wrapper/collapse-tags.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/collapse-tags.vue +1 -1
- package/demos/pc/app/select-wrapper/copy-multi.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/copy-multi.vue +1 -1
- package/demos/pc/app/select-wrapper/copy-single.spec.ts +3 -3
- package/demos/pc/app/select-wrapper/copy-single.vue +1 -1
- package/demos/pc/app/select-wrapper/disabled.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/disabled.vue +1 -1
- package/demos/pc/app/select-wrapper/events.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/events.vue +1 -1
- package/demos/pc/app/select-wrapper/extra-query-params.vue +1 -1
- package/demos/pc/app/select-wrapper/filter-method.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/filter-method.vue +1 -1
- package/demos/pc/app/select-wrapper/filter-mode.vue +1 -1
- package/demos/pc/app/select-wrapper/hide-drop.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/hide-drop.vue +1 -1
- package/demos/pc/app/select-wrapper/init-label.vue +1 -1
- package/demos/pc/app/select-wrapper/input-box-type.spec.ts +4 -5
- package/demos/pc/app/select-wrapper/input-box-type.vue +1 -1
- package/demos/pc/app/select-wrapper/is-drop-inherit-width.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/is-drop-inherit-width.vue +1 -1
- package/demos/pc/app/select-wrapper/manual-focus-blur.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/manual-focus-blur.vue +1 -1
- package/demos/pc/app/select-wrapper/map-field.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/map-field.vue +1 -1
- package/demos/pc/app/select-wrapper/memoize-usage.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/memoize-usage.vue +1 -1
- package/demos/pc/app/select-wrapper/multiple-mix.vue +1 -1
- package/demos/pc/app/select-wrapper/multiple.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/multiple.vue +1 -1
- package/demos/pc/app/select-wrapper/native-properties.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/native-properties.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-grid-disable.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/nest-grid-disable.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-grid-init-query.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-grid-remote.spec.ts +12 -12
- package/demos/pc/app/select-wrapper/nest-grid-remote.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-grid.spec.ts +6 -6
- package/demos/pc/app/select-wrapper/nest-grid.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-radio-grid-much-data.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/nest-radio-grid-much-data.vue +1 -1
- package/demos/pc/app/select-wrapper/nest-tree.spec.ts +5 -5
- package/demos/pc/app/select-wrapper/nest-tree.vue +1 -1
- package/demos/pc/app/select-wrapper/no-data-text.spec.ts +3 -3
- package/demos/pc/app/select-wrapper/no-data-text.vue +1 -1
- package/demos/pc/app/select-wrapper/optimization.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/option-group.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/option-group.vue +1 -1
- package/demos/pc/app/select-wrapper/popup-style-position.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/popup-style-position.vue +1 -1
- package/demos/pc/app/select-wrapper/remote-method.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/remote-method.vue +1 -1
- package/demos/pc/app/select-wrapper/searchable.spec.ts +2 -2
- package/demos/pc/app/select-wrapper/searchable.vue +1 -1
- package/demos/pc/app/select-wrapper/show-alloption.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/show-alloption.vue +1 -1
- package/demos/pc/app/select-wrapper/show-tip.vue +1 -1
- package/demos/pc/app/select-wrapper/size.spec.ts +4 -4
- package/demos/pc/app/select-wrapper/size.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-default.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/slot-default.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-empty.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/slot-empty.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-header-footer.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/slot-header-footer.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-label.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-prefix.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/slot-prefix.vue +1 -1
- package/demos/pc/app/select-wrapper/slot-reference.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/slot-reference.vue +1 -1
- package/demos/pc/app/select-wrapper/tag-type.spec.ts +1 -1
- package/demos/pc/app/select-wrapper/tag-type.vue +1 -1
- package/demos/pc/app/select-wrapper/webdoc/select-wrapper.js +3 -3
- package/demos/pc/app/switch/webdoc/switch.js +12 -0
- package/demos/pc/app/switch/width-composition-api.vue +29 -0
- package/demos/pc/app/switch/width.spec.ts +17 -0
- package/demos/pc/app/switch/width.vue +35 -0
- package/demos/pc/app/time-picker/picker-options.spec.ts +3 -4
- package/demos/pc/app/time-picker/step.spec.ts +2 -2
- package/demos/pc/app/transfer/basic-usage.spec.ts +4 -4
- package/demos/pc/app/tree/filter-view.spec.ts +1 -1
- package/demos/pc/app/tree-menu/clearable.spec.ts +1 -5
- package/demos/pc/app/tree-select/lazy-composition-api.vue +51 -0
- package/demos/pc/app/tree-select/lazy-multiple-composition-api.vue +58 -0
- package/demos/pc/app/tree-select/lazy-multiple.vue +66 -0
- package/demos/pc/app/tree-select/lazy.vue +59 -0
- package/demos/pc/app/tree-select/webdoc/tree-select.js +14 -0
- package/demos/pc/app/user/custom-service.spec.ts +1 -1
- package/demos/pc/menus.js +2 -2
- package/demos/pc/webdoc/changelog-en.md +251 -180
- package/demos/pc/webdoc/changelog.md +120 -81
- package/demos/pc/webdoc/introduce.md +9 -12
- package/package.json +20 -20
- package/playground/App.vue +212 -185
- package/playground/assets/icon-layout-vertical.svg +4 -0
- package/playground/icons/Github.vue +14 -2
- package/playground/icons/Layout.vue +18 -0
- package/playground/icons/Reverse.vue +115 -0
- package/playground/icons/Set.vue +80 -0
- package/playground/icons/Share.vue +103 -8
- package/playground/icons/Vertical.vue +19 -0
- package/src/components/api-docs.vue +2 -2
- package/src/components/async-highlight.vue +6 -0
- package/src/views/components-doc/common.vue +14 -3
- package/src/views/components-doc/saas.vue +2 -13
- package/playground/assets/big.png +0 -0
- package/playground/assets/small.png +0 -0
|
@@ -598,9 +598,9 @@ export default {
|
|
|
598
598
|
defaultValue: 'false',
|
|
599
599
|
desc: {
|
|
600
600
|
'zh-CN':
|
|
601
|
-
'是否展示多选框开启多选限制选择数量时,选中条数和限制总条数的占比的文字提示。 该属性的优先级大于<code>show-proportion</code>
|
|
601
|
+
'是否展示多选框开启多选限制选择数量时,选中条数和限制总条数的占比的文字提示。 该属性的优先级大于<code>show-proportion</code> 属性。',
|
|
602
602
|
'en-US':
|
|
603
|
-
'Display the proportion of the number of selected items and the
|
|
603
|
+
'Display the proportion of the number of selected items and the maximum number of options available in the multiple-choice box. This attribute has a higher priority than the <code>show-proportion</code> attribute.'
|
|
604
604
|
},
|
|
605
605
|
mode: ['pc'],
|
|
606
606
|
pcDemo: 'multiple'
|
package/demos/apis/drawer.js
CHANGED
|
@@ -207,6 +207,20 @@ export default {
|
|
|
207
207
|
mode: ['pc'],
|
|
208
208
|
pcDemo: 'tips-props',
|
|
209
209
|
hideSaas: true
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
name: 'close-on-press-escape',
|
|
213
|
+
type: 'boolean',
|
|
214
|
+
defaultValue: 'false',
|
|
215
|
+
desc: {
|
|
216
|
+
'zh-CN': 'ESC 键关闭抽屉',
|
|
217
|
+
'en-US': 'ESC key to close drawer'
|
|
218
|
+
},
|
|
219
|
+
mode: ['pc'],
|
|
220
|
+
pcDemo: 'closeOnPressEscape',
|
|
221
|
+
meta: {
|
|
222
|
+
stable: '3.28.0'
|
|
223
|
+
}
|
|
210
224
|
}
|
|
211
225
|
],
|
|
212
226
|
events: [
|
package/demos/apis/dropdown.js
CHANGED
|
@@ -195,7 +195,7 @@ export default {
|
|
|
195
195
|
},
|
|
196
196
|
{
|
|
197
197
|
name: 'trigger',
|
|
198
|
-
type: "'hover' | 'click'",
|
|
198
|
+
type: "'hover' | 'click' | 'contextmenu'",
|
|
199
199
|
defaultValue: "'hover'",
|
|
200
200
|
desc: {
|
|
201
201
|
'zh-CN': '触发下拉的方式',
|
|
@@ -203,8 +203,12 @@ export default {
|
|
|
203
203
|
},
|
|
204
204
|
mode: ['pc', 'mobile-first'],
|
|
205
205
|
pcDemo: 'trigger',
|
|
206
|
-
mfDemo: ''
|
|
206
|
+
mfDemo: '',
|
|
207
|
+
meta: {
|
|
208
|
+
stable: '3.28.0'
|
|
209
|
+
}
|
|
207
210
|
},
|
|
211
|
+
|
|
208
212
|
{
|
|
209
213
|
name: 'type',
|
|
210
214
|
typeAnchorName: 'IButtonType',
|
package/demos/apis/grid.js
CHANGED
|
@@ -2784,7 +2784,7 @@ export default {
|
|
|
2784
2784
|
"Set the rendering type for table columns; takes precedence over the column's type attribute; cell rendering configuration item, takes precedence over formatText attribute"
|
|
2785
2785
|
},
|
|
2786
2786
|
mode: ['pc', 'mobile-first'],
|
|
2787
|
-
pcDemo: 'grid-
|
|
2787
|
+
pcDemo: 'grid-editor#editor-custom-editor-select'
|
|
2788
2788
|
},
|
|
2789
2789
|
{
|
|
2790
2790
|
name: 'required',
|
package/demos/apis/modal.js
CHANGED
|
@@ -115,7 +115,7 @@ export default {
|
|
|
115
115
|
{
|
|
116
116
|
name: 'footer-dragable',
|
|
117
117
|
type: 'boolean',
|
|
118
|
-
defaultValue: '
|
|
118
|
+
defaultValue: 'false',
|
|
119
119
|
desc: {
|
|
120
120
|
'zh-CN': '控制底部可拖拽',
|
|
121
121
|
'en-US': 'Control bottom dragable'
|
|
@@ -123,6 +123,20 @@ export default {
|
|
|
123
123
|
mode: ['pc'],
|
|
124
124
|
pcDemo: 'modal-footer'
|
|
125
125
|
},
|
|
126
|
+
{
|
|
127
|
+
name: 'header-dragable',
|
|
128
|
+
type: 'boolean',
|
|
129
|
+
defaultValue: 'true',
|
|
130
|
+
desc: {
|
|
131
|
+
'zh-CN': '控制标题可拖拽',
|
|
132
|
+
'en-US': 'Control header dragable'
|
|
133
|
+
},
|
|
134
|
+
mode: ['pc'],
|
|
135
|
+
pcDemo: 'modal-header',
|
|
136
|
+
meta: {
|
|
137
|
+
stable: '3.28.0'
|
|
138
|
+
}
|
|
139
|
+
},
|
|
126
140
|
{
|
|
127
141
|
name: 'fullscreen',
|
|
128
142
|
type: 'boolean',
|
|
@@ -680,7 +680,7 @@ export default {
|
|
|
680
680
|
'zh-CN':
|
|
681
681
|
'是否展示多选框开启多选限制选择数量时,选中条数和限制总条数的占比的文字提示。 该属性的优先级大于<code>show-proportion</code> 属性。',
|
|
682
682
|
'en-US':
|
|
683
|
-
'Display the proportion of the number of selected items and the
|
|
683
|
+
'Display the proportion of the number of selected items and the maximum number of options available in the multiple-choice box. This attribute has a higher priority than the <code>show-proportion</code> attribute.'
|
|
684
684
|
},
|
|
685
685
|
mode: ['pc'],
|
|
686
686
|
pcDemo: 'multiple'
|
package/demos/apis/select.js
CHANGED
|
@@ -690,7 +690,7 @@ export default {
|
|
|
690
690
|
'zh-CN':
|
|
691
691
|
'是否展示多选框开启多选限制选择数量时,选中条数和限制总条数的占比的文字提示。 该属性的优先级大于<code>show-proportion</code> 属性。',
|
|
692
692
|
'en-US':
|
|
693
|
-
'Display the proportion of the number of selected items and the
|
|
693
|
+
'Display the proportion of the number of selected items and the maximum number of options available in the multiple-choice box. This attribute has a higher priority than the <code>show-proportion</code> attribute.'
|
|
694
694
|
},
|
|
695
695
|
mode: ['pc'],
|
|
696
696
|
pcDemo: 'multiple',
|
package/demos/apis/switch.js
CHANGED
|
@@ -111,6 +111,21 @@ export default {
|
|
|
111
111
|
pcDemo: 'custom-true-false-value',
|
|
112
112
|
mfDemo: ''
|
|
113
113
|
},
|
|
114
|
+
{
|
|
115
|
+
name: 'width',
|
|
116
|
+
type: 'number | string',
|
|
117
|
+
defaultValue: '',
|
|
118
|
+
desc: {
|
|
119
|
+
'zh-CN': '定义开关的宽度',
|
|
120
|
+
'en-US': 'Define the width of the switch'
|
|
121
|
+
},
|
|
122
|
+
mode: ['pc'],
|
|
123
|
+
mfDemo: '',
|
|
124
|
+
pcDemo: 'width',
|
|
125
|
+
meta: {
|
|
126
|
+
stable: '3.28.0'
|
|
127
|
+
}
|
|
128
|
+
},
|
|
114
129
|
{
|
|
115
130
|
name: 'types',
|
|
116
131
|
type: 'string',
|
package/demos/apis/tree-menu.js
CHANGED
|
@@ -660,6 +660,9 @@ interface ITreeNodeData {
|
|
|
660
660
|
"number"?: number | string
|
|
661
661
|
// 自定义每个节点的图标
|
|
662
662
|
"customIcon": Component
|
|
663
|
+
// 节点是否可以点击
|
|
664
|
+
"disabled"?: string
|
|
665
|
+
|
|
663
666
|
}
|
|
664
667
|
`
|
|
665
668
|
},
|
|
@@ -668,10 +671,10 @@ interface ITreeNodeData {
|
|
|
668
671
|
type: 'interface',
|
|
669
672
|
code: `
|
|
670
673
|
interface IProps {
|
|
671
|
-
"label"
|
|
672
|
-
"children"
|
|
673
|
-
"disabled"
|
|
674
|
-
"isLeaf"
|
|
674
|
+
"label": string
|
|
675
|
+
"children": string
|
|
676
|
+
"disabled"?: string
|
|
677
|
+
"isLeaf"?: string
|
|
675
678
|
}
|
|
676
679
|
`
|
|
677
680
|
},
|
|
@@ -264,6 +264,44 @@ export default {
|
|
|
264
264
|
},
|
|
265
265
|
mode: ['pc'],
|
|
266
266
|
pcDemo: 'map-field'
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
name: 'lazy',
|
|
270
|
+
type: 'boolean',
|
|
271
|
+
defaultValue: 'false',
|
|
272
|
+
desc: {
|
|
273
|
+
'zh-CN': '是否懒加载子节点,配合 load 属性使用',
|
|
274
|
+
'en-US': 'Whether to lazily load child nodes and use them in conjunction with the load attribute'
|
|
275
|
+
},
|
|
276
|
+
mode: ['pc', 'mobile-first'],
|
|
277
|
+
pcDemo: 'lazy',
|
|
278
|
+
mfDemo: 'lazy'
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: 'load',
|
|
282
|
+
type: '(node, resolve) => void',
|
|
283
|
+
defaultValue: '',
|
|
284
|
+
desc: {
|
|
285
|
+
'zh-CN':
|
|
286
|
+
'加载子树数据的方法。点击节点后,组件开始调用load方法,只有在load函数内调用resolve(data),才表示返回下级的数据成功。',
|
|
287
|
+
'en-US':
|
|
288
|
+
'Method of loading subtree data. After the node is clicked, the component starts to call the load method. Only when resolve(data) is called in the load function, the data at the lower level is successfully returned.'
|
|
289
|
+
},
|
|
290
|
+
mode: ['pc', 'mobile-first'],
|
|
291
|
+
pcDemo: 'lazy',
|
|
292
|
+
mfDemo: 'lazy'
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: 'after-load',
|
|
296
|
+
type: 'Function',
|
|
297
|
+
defaultValue: '',
|
|
298
|
+
desc: {
|
|
299
|
+
'zh-CN': '节点懒加载完成后的回调函数',
|
|
300
|
+
'en-US': 'Callback function after node lazy loading is completed'
|
|
301
|
+
},
|
|
302
|
+
mode: ['pc', 'mobile-first'],
|
|
303
|
+
pcDemo: 'lazy',
|
|
304
|
+
mfDemo: 'lazy'
|
|
267
305
|
}
|
|
268
306
|
]
|
|
269
307
|
}
|
|
@@ -281,6 +319,9 @@ interface ITreeNode {
|
|
|
281
319
|
|
|
282
320
|
interface ITreeOption {
|
|
283
321
|
data: ITreeNode[] // 树数据,用法同 Tree
|
|
322
|
+
lazy?: boolean // 是否懒加载子节点
|
|
323
|
+
load?: (node: ITreeNodeVm, resolve: IResolveType) => void // 加载子树数据的方法
|
|
324
|
+
afterLoad?: (data: any) => void // 节点懒加载完成后的回调函数
|
|
284
325
|
}
|
|
285
326
|
`
|
|
286
327
|
},
|
|
@@ -28,14 +28,14 @@ export default {
|
|
|
28
28
|
'zh-CN': `
|
|
29
29
|
通过 <code>multiple</code> 属性启用多选功能,此时 <code>v-model</code> 的值为当前选中值所组成的数组。默认选中值会以标签(Tag 组件)展示。<br>
|
|
30
30
|
通过 <code>multiple-limit</code> 属性限制最多可选择的个数,默认为 0 不限制。<br>
|
|
31
|
-
|
|
31
|
+
设置 <code>show-limit-text</code> 可展示选中条数和限制总条数的占比,默认为 false 不展示。<br>
|
|
32
32
|
多选时,通过给 option 标签配置 <code>required</code> 或者在 options 配置项中添加 <code>required</code> 属性,来设置必选选项。<br>
|
|
33
33
|
通过 <code>dropdown-icon</code> 属性可自定义下拉图标,<code>drop-style</code> 属性可自定义下拉选项样式。<br>
|
|
34
34
|
`,
|
|
35
35
|
'en-US': `
|
|
36
36
|
Use the <code>multiple</code> attribute to enable the multi-selection function. In this case, the value of <code>v-model</code> is an array of selected values. By default, the selected value is displayed as a tag (Tag component).<br>
|
|
37
|
-
The <code>multiple-limit</code> attribute is used to limit the maximum number of
|
|
38
|
-
|
|
37
|
+
The <code>multiple-limit</code> attribute is used to limit the maximum number of options available. The default value is 0.
|
|
38
|
+
Set <code>show-limit-text</code> to display the proportion of the number of selected items and the maximum number of options available. The default value is false.
|
|
39
39
|
When multiple options are selected, you can set <code>required</code> for the option tag or add the <code>required</code> attribute to the options configuration item to set mandatory options.<br>
|
|
40
40
|
You can use the <code>dropdown-icon</code> attribute to customize the drop-down icon, and the <code>drop-style</code> attribute to customize the style of the drop-down options.<br>
|
|
41
41
|
`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div style="margin: 16px 0">全选后,显示多个 tag</div>
|
|
4
|
+
<tiny-select v-model="value" multiple all-text="全部小吃">
|
|
5
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
6
|
+
</tiny-select>
|
|
7
|
+
|
|
8
|
+
<div style="margin: 16px 0">全选后,显示自定义的全部 Tag</div>
|
|
9
|
+
<tiny-select v-model="value1" multiple all-text="全部小吃" show-all-text-tag>
|
|
10
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
11
|
+
</tiny-select>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
import { TinySelectWrapper as TinySelect, TinyOption } from '@opentiny/vue'
|
|
17
|
+
|
|
18
|
+
export default {
|
|
19
|
+
components: {
|
|
20
|
+
TinySelect,
|
|
21
|
+
TinyOption
|
|
22
|
+
},
|
|
23
|
+
data() {
|
|
24
|
+
return {
|
|
25
|
+
value: [],
|
|
26
|
+
value1: [],
|
|
27
|
+
options: [
|
|
28
|
+
{ value: '选项 1', label: '黄金糕' },
|
|
29
|
+
{ value: '选项 2', label: '双皮奶' },
|
|
30
|
+
{ value: '选项 3', label: '蚵仔煎' },
|
|
31
|
+
{ value: '选项 4', label: '龙须面' },
|
|
32
|
+
{ value: '选项 6', label: '螺蛳粉' }
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<style lang="less" scoped>
|
|
40
|
+
.tiny-select {
|
|
41
|
+
width: 280px;
|
|
42
|
+
}
|
|
43
|
+
</style>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div>场景 1:allow-create + filterable,点击创建条目</div>
|
|
4
|
+
<br />
|
|
5
|
+
<tiny-select v-model="value" allow-create filterable>
|
|
6
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
7
|
+
</tiny-select>
|
|
8
|
+
<br />
|
|
9
|
+
<br />
|
|
10
|
+
<div>场景 2:allow-create + filterable + default-first-option,Enter 键创建条目</div>
|
|
11
|
+
<br />
|
|
12
|
+
<tiny-select v-model="value" allow-create filterable default-first-option>
|
|
13
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
14
|
+
</tiny-select>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
import {
|
|
20
|
+
TinySelectWrapper as TinySelect,
|
|
21
|
+
TinyOption,
|
|
22
|
+
TinyInput,
|
|
23
|
+
TinyButton,
|
|
24
|
+
TinyDialogBox,
|
|
25
|
+
TinyModal
|
|
26
|
+
} from '@opentiny/vue'
|
|
27
|
+
|
|
28
|
+
export default {
|
|
29
|
+
components: {
|
|
30
|
+
TinySelect,
|
|
31
|
+
TinyOption,
|
|
32
|
+
TinyInput,
|
|
33
|
+
TinyButton,
|
|
34
|
+
TinyDialogBox
|
|
35
|
+
},
|
|
36
|
+
data() {
|
|
37
|
+
return {
|
|
38
|
+
options: [
|
|
39
|
+
{ value: '选项 1', label: '北京' },
|
|
40
|
+
{ value: '选项 2', label: '上海' },
|
|
41
|
+
{ value: '选项 3', label: '天津' },
|
|
42
|
+
{ value: '选项 4', label: '重庆' },
|
|
43
|
+
{ value: '选项 5', label: '深圳' }
|
|
44
|
+
],
|
|
45
|
+
value: '',
|
|
46
|
+
boxVisibility: false,
|
|
47
|
+
optionLabel: '',
|
|
48
|
+
optionValue: ''
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
methods: {
|
|
52
|
+
handleAddOption() {
|
|
53
|
+
this.optionValue = ''
|
|
54
|
+
this.optionLabel = ''
|
|
55
|
+
this.boxVisibility = true
|
|
56
|
+
},
|
|
57
|
+
handleConfirm() {
|
|
58
|
+
if (!this.optionLabel || !this.optionValue) {
|
|
59
|
+
TinyModal.message({ message: '选项不能为空!', status: 'warning' })
|
|
60
|
+
return
|
|
61
|
+
}
|
|
62
|
+
this.boxVisibility = false
|
|
63
|
+
this.options.unshift({
|
|
64
|
+
value: this.optionValue,
|
|
65
|
+
label: this.optionLabel
|
|
66
|
+
})
|
|
67
|
+
this.$refs.selectDom.focus()
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
</script>
|
|
72
|
+
|
|
73
|
+
<style lang="less" scoped>
|
|
74
|
+
.tiny-select {
|
|
75
|
+
width: 280px;
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<p>场景 1:默认不可搜索时,获取焦点不下拉</p>
|
|
4
|
+
<br />
|
|
5
|
+
<tiny-button @click="handleFocus1"> 点击获取焦点 </tiny-button>
|
|
6
|
+
<tiny-select v-model="value" ref="selectOnlyFocusRef">
|
|
7
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
8
|
+
</tiny-select>
|
|
9
|
+
<br /><br />
|
|
10
|
+
<p>场景 2:设置不可搜索时,获取焦点并自动下拉</p>
|
|
11
|
+
<br />
|
|
12
|
+
<tiny-button @click="handleFocus2"> 点击获取焦点 </tiny-button>
|
|
13
|
+
<tiny-select v-model="value" ref="selectAutoDropRef" automatic-dropdown>
|
|
14
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
15
|
+
</tiny-select>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
import { TinySelectWrapper as TinySelect, TinyOption, TinyButton } from '@opentiny/vue'
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
components: {
|
|
24
|
+
TinySelect,
|
|
25
|
+
TinyOption,
|
|
26
|
+
TinyButton
|
|
27
|
+
},
|
|
28
|
+
data() {
|
|
29
|
+
return {
|
|
30
|
+
options: [
|
|
31
|
+
{ value: '选项 1', label: '北京' },
|
|
32
|
+
{ value: '选项 2', label: '上海' },
|
|
33
|
+
{ value: '选项 3', label: '天津' },
|
|
34
|
+
{ value: '选项 4', label: '重庆' },
|
|
35
|
+
{ value: '选项 5', label: '深圳' }
|
|
36
|
+
],
|
|
37
|
+
value: ''
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
methods: {
|
|
41
|
+
handleFocus1() {
|
|
42
|
+
this.$refs.selectOnlyFocusRef.focus()
|
|
43
|
+
},
|
|
44
|
+
handleFocus2() {
|
|
45
|
+
this.$refs.selectAutoDropRef.focus()
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<style lang="less" scoped>
|
|
52
|
+
.tiny-select {
|
|
53
|
+
width: 280px;
|
|
54
|
+
}
|
|
55
|
+
p {
|
|
56
|
+
font-size: 14px;
|
|
57
|
+
line-height: 1.5;
|
|
58
|
+
}
|
|
59
|
+
.tiny-button {
|
|
60
|
+
margin-right: 10px;
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div>选中的值为: {{ value }}</div>
|
|
4
|
+
<br />
|
|
5
|
+
<div>场景 1:标签式</div>
|
|
6
|
+
<br />
|
|
7
|
+
<tiny-select v-model="value">
|
|
8
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" :icon="item.icon">
|
|
9
|
+
</tiny-option>
|
|
10
|
+
</tiny-select>
|
|
11
|
+
<br />
|
|
12
|
+
<br />
|
|
13
|
+
<div>场景 2:配置式</div>
|
|
14
|
+
<br />
|
|
15
|
+
<tiny-select v-model="value" :options="options"> </tiny-select>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
import { TinySelectWrapper as TinySelect, TinyOption } from '@opentiny/vue'
|
|
21
|
+
import { iconFile } from '@opentiny/vue-icon'
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
components: {
|
|
25
|
+
TinySelect,
|
|
26
|
+
TinyOption
|
|
27
|
+
},
|
|
28
|
+
data() {
|
|
29
|
+
return {
|
|
30
|
+
options: [
|
|
31
|
+
{ value: '选项 1', label: '北京', icon: iconFile() },
|
|
32
|
+
{ value: '选项 2', label: '上海', icon: iconFile() },
|
|
33
|
+
{ value: '选项 3', label: '天津', icon: iconFile() },
|
|
34
|
+
{ value: '选项 4', label: '重庆', icon: iconFile() },
|
|
35
|
+
{ value: '选项 5', label: '深圳', icon: iconFile() }
|
|
36
|
+
],
|
|
37
|
+
value: ''
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<style lang="less" scoped>
|
|
44
|
+
.tiny-select {
|
|
45
|
+
width: 280px;
|
|
46
|
+
}
|
|
47
|
+
</style>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<tiny-select v-model="value" value-key="val">
|
|
4
|
+
<tiny-option v-for="(item, index) in options" :key="index" :label="item.text" :value="item.obj"> </tiny-option>
|
|
5
|
+
</tiny-select>
|
|
6
|
+
<br /><br />
|
|
7
|
+
<p class="value">
|
|
8
|
+
{{ value }}
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import { TinySelectWrapper as TinySelect, TinyOption } from '@opentiny/vue'
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
components: {
|
|
18
|
+
TinySelect,
|
|
19
|
+
TinyOption
|
|
20
|
+
},
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
options: [
|
|
24
|
+
{ obj: { val: '选项 1', id: 1 }, text: '北京' },
|
|
25
|
+
{ obj: { val: '选项 2', id: 2 }, text: '上海' },
|
|
26
|
+
{ obj: { val: '选项 3', id: 3 }, text: '天津' },
|
|
27
|
+
{ obj: { val: '选项 4', id: 4 }, text: '重庆' },
|
|
28
|
+
{ obj: { val: '选项 5', id: 5 }, text: '深圳' }
|
|
29
|
+
],
|
|
30
|
+
value: { val: '选项 3', id: 3 }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<style lang="less" scoped>
|
|
37
|
+
.tiny-select {
|
|
38
|
+
width: 280px;
|
|
39
|
+
}
|
|
40
|
+
p {
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
line-height: 1.5;
|
|
43
|
+
}
|
|
44
|
+
</style>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<tiny-select v-model="value" clearable :options="options" :cache-op="cacheOp" @change="cacheChange"></tiny-select>
|
|
4
|
+
<p class="cache-value">
|
|
5
|
+
{{ cacheValue }}
|
|
6
|
+
</p>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import { TinySelectWrapper as TinySelect } from '@opentiny/vue'
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
components: {
|
|
15
|
+
TinySelect
|
|
16
|
+
},
|
|
17
|
+
data() {
|
|
18
|
+
return {
|
|
19
|
+
cacheOp: {
|
|
20
|
+
key: 'test'
|
|
21
|
+
},
|
|
22
|
+
cacheValue: '',
|
|
23
|
+
options: [
|
|
24
|
+
{ value: '选项 1', label: '北京' },
|
|
25
|
+
{ value: '选项 2', label: '上海' },
|
|
26
|
+
{ value: '选项 3', label: '天津' },
|
|
27
|
+
{ value: '选项 4', label: '重庆' },
|
|
28
|
+
{ value: '选项 5', label: '深圳' }
|
|
29
|
+
],
|
|
30
|
+
value: '选项 3'
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
methods: {
|
|
34
|
+
cacheChange() {
|
|
35
|
+
this.cacheValue = window.localStorage.getItem(`tiny_memorize_${this.cacheOp.key}`)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<style lang="less" scoped>
|
|
42
|
+
.tiny-select {
|
|
43
|
+
width: 280px;
|
|
44
|
+
}
|
|
45
|
+
p {
|
|
46
|
+
font-size: 14px;
|
|
47
|
+
line-height: 1.5;
|
|
48
|
+
}
|
|
49
|
+
</style>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<p>
|
|
4
|
+
场景 1:单选,val 找不到匹配值,val 为: ,<span class="val">{{ val }}</span>
|
|
5
|
+
</p>
|
|
6
|
+
<br />
|
|
7
|
+
<tiny-select v-model="val" :clear-no-match-value="true">
|
|
8
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
9
|
+
</tiny-select>
|
|
10
|
+
<br /><br />
|
|
11
|
+
|
|
12
|
+
<p>
|
|
13
|
+
场景 2:多选,multiVal 找不到匹配值,multiVal 为:<span class="multi-val">{{ multiVal }}</span>
|
|
14
|
+
</p>
|
|
15
|
+
<br />
|
|
16
|
+
<tiny-select v-model="multiVal" :clear-no-match-value="true" multiple>
|
|
17
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
18
|
+
</tiny-select>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
import { TinySelectWrapper as TinySelect, TinyOption } from '@opentiny/vue'
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
components: {
|
|
27
|
+
TinySelect,
|
|
28
|
+
TinyOption
|
|
29
|
+
},
|
|
30
|
+
data() {
|
|
31
|
+
return {
|
|
32
|
+
options: [
|
|
33
|
+
{ value: '选项 1', label: '北京' },
|
|
34
|
+
{ value: '选项 2', label: '上海' },
|
|
35
|
+
{ value: '选项 3', label: '天津' },
|
|
36
|
+
{ value: '选项 4', label: '重庆' },
|
|
37
|
+
{ value: '选项 5', label: '深圳' }
|
|
38
|
+
],
|
|
39
|
+
val: '11',
|
|
40
|
+
multiVal: ['选项 2', '11']
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
</script>
|
|
45
|
+
|
|
46
|
+
<style lang="less" scoped>
|
|
47
|
+
.tiny-select {
|
|
48
|
+
width: 280px;
|
|
49
|
+
}
|
|
50
|
+
p {
|
|
51
|
+
font-size: 14px;
|
|
52
|
+
line-height: 1.5;
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tiny-select v-model="value" clearable>
|
|
3
|
+
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
|
|
4
|
+
</tiny-select>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
import { TinySelectWrapper as TinySelect, TinyOption } from '@opentiny/vue'
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
components: {
|
|
12
|
+
TinySelect,
|
|
13
|
+
TinyOption
|
|
14
|
+
},
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
options: [
|
|
18
|
+
{ value: '选项 1', label: '北京' },
|
|
19
|
+
{ value: '选项 2', label: '上海' },
|
|
20
|
+
{ value: '选项 3', label: '天津' },
|
|
21
|
+
{ value: '选项 4', label: '重庆' },
|
|
22
|
+
{ value: '选项 5', label: '深圳' }
|
|
23
|
+
],
|
|
24
|
+
value: '选项 3'
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style lang="less" scoped>
|
|
31
|
+
.tiny-select {
|
|
32
|
+
width: 280px;
|
|
33
|
+
}
|
|
34
|
+
</style>
|