@opentiny/vue-docs 2.2.3 → 2.2.4

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.
Files changed (51) hide show
  1. package/demos/pc/app/anchor/change.spec.ts +1 -2
  2. package/demos/pc/app/anchor/is-affix.spec.ts +4 -3
  3. package/demos/pc/app/anchor/set-container.spec.ts +7 -7
  4. package/demos/pc/app/anchor/webdoc/anchor.js +17 -16
  5. package/demos/pc/app/button/basic-usage-composition-api.vue +1 -1
  6. package/demos/pc/app/button/basic-usage.vue +1 -1
  7. package/demos/pc/app/button/dynamic-disabled-composition-api.vue +0 -1
  8. package/demos/pc/app/button/dynamic-disabled.spec.js +3 -0
  9. package/demos/pc/app/button/dynamic-disabled.vue +0 -1
  10. package/demos/pc/app/button/icon-composition-api.vue +2 -1
  11. package/demos/pc/app/button/icon.vue +2 -1
  12. package/demos/pc/app/grid/data-source/static-data-composition-api.vue +1 -1
  13. package/demos/pc/app/grid/expand/expand-config-composition-api.vue +1 -1
  14. package/demos/pc/app/grid/filter/simple-date-filter.spec.ts +2 -20
  15. package/demos/pc/app/grid/operation-column/selection-config-composition-api.vue +1 -1
  16. package/demos/pc/app/grid/operation-column/selection-config.vue +2 -3
  17. package/demos/pc/app/grid/slot/editor-slot-composition-api.vue +1 -1
  18. package/demos/pc/app/grid/slot/header-slot-composition-api.vue +4 -1
  19. package/demos/pc/app/grid/slot/header-slot.vue +2 -1
  20. package/demos/pc/app/icon/basic-usage.spec.js +8 -1
  21. package/demos/pc/app/icon/iconGroups.js +195 -195
  22. package/demos/pc/app/icon/list.spec.js +10 -5
  23. package/demos/pc/app/icon/show-title.spec.ts +8 -0
  24. package/demos/pc/app/layout/gutter-composition-api.vue +11 -0
  25. package/demos/pc/app/layout/gutter.spec.ts +3 -0
  26. package/demos/pc/app/layout/gutter.vue +11 -0
  27. package/demos/pc/app/layout/webdoc/layout.js +14 -3
  28. package/demos/pc/app/select/copy-multi.spec.ts +15 -6
  29. package/demos/pc/app/select/is-drop-inherit-width.spec.ts +2 -3
  30. package/demos/pc/app/select/nest-grid-composition-api.vue +3 -1
  31. package/demos/pc/app/select/optimization.spec.ts +1 -0
  32. package/demos/pc/app/tag/closable.spec.ts +1 -1
  33. package/demos/pc/app/tag/color3.spec.ts +1 -1
  34. package/demos/pc/app/tag/content.spec.ts +2 -2
  35. package/demos/pc/app/tag/create.spec.ts +3 -3
  36. package/demos/pc/app/tag/disabled.spec.ts +1 -1
  37. package/demos/pc/app/tag/effect.spec.ts +4 -3
  38. package/demos/pc/app/wizard/btn-events-composition-api.vue +5 -5
  39. package/demos/pc/app/wizard/btn-events.spec.ts +63 -0
  40. package/demos/pc/app/wizard/btn-events.vue +5 -5
  41. package/demos/pc/app/wizard/page-guide.spec.ts +6 -6
  42. package/demos/pc/app/wizard/slot-step-button.spec.ts +1 -1
  43. package/demos/pc/app/wizard/time-line-flow.spec.ts +5 -5
  44. package/demos/pc/menus.js +1 -1
  45. package/demos/pc/webdoc/changelog.md +521 -305
  46. package/demos/pc/webdoc/installation-en.md +11 -6
  47. package/demos/pc/webdoc/installation.md +14 -8
  48. package/package.json +6 -6
  49. package/playground/App.vue +2 -2
  50. package/src/App.vue +2 -0
  51. package/src/tools/useBulletin.jsx +43 -0
@@ -1,4 +1,199 @@
1
1
  export const iconGroups = {
2
+ Arrow: [
3
+ 'IconArrowDown',
4
+ 'IconArrowLeft',
5
+ 'IconArrowRight',
6
+ 'IconArrowUp',
7
+ 'IconAscending',
8
+ 'IconChevronDown',
9
+ 'IconChevronLeft',
10
+ 'IconChevronRight',
11
+ 'IconChevronUp',
12
+ 'IconDefault',
13
+ 'IconDeltaDownO',
14
+ 'IconDeltaDown',
15
+ 'IconDeltaLeftO',
16
+ 'IconDeltaLeft',
17
+ 'IconDeltaRightO',
18
+ 'IconDeltaRight',
19
+ 'IconDeltaUpO',
20
+ 'IconDeltaUp',
21
+ 'IconDoubleLeft',
22
+ 'IconDoubleRight',
23
+ 'IconDownO',
24
+ 'IconDown',
25
+ 'IconDownWard',
26
+ 'IconEnd',
27
+ 'IconLeftO',
28
+ 'IconLeftWard',
29
+ 'IconLeftWardArrow',
30
+ 'IconLeft',
31
+ 'IconPopup',
32
+ 'IconRightO',
33
+ 'IconRight',
34
+ 'IconRightward',
35
+ 'IconTriangleDown',
36
+ 'IconUpO',
37
+ 'IconUp',
38
+ 'IconUpWard'
39
+ ],
40
+ Brands: ['IconAngularjs', 'IconEspaceAuto', 'IconEspace', 'IconNodejs', 'IconReactjs', 'IconVuejs'],
41
+ Charts: ['IconAreaChart', 'IconDotChart', 'IconLineChart', 'IconPieChart', 'IconStatistics'],
42
+ Editor: [
43
+ 'IconEditorAlignCenter',
44
+ 'IconEditorAlignLeft',
45
+ 'IconEditorAlignRight',
46
+ 'IconEditorBackground',
47
+ 'IconEditorBold',
48
+ 'IconEditorCode',
49
+ 'IconEditorDeleteline',
50
+ 'IconEditorEraser',
51
+ 'IconEditorItalic',
52
+ 'IconEditorLeftBorder',
53
+ 'IconEditorList',
54
+ 'IconEditorListDot',
55
+ 'IconEditorListNum',
56
+ 'IconEditorMenuLeft',
57
+ 'IconEditorMenuRight',
58
+ 'IconEditorQuote',
59
+ 'IconEditorRedo',
60
+ 'IconEditorRightBorder',
61
+ 'IconEditorSub',
62
+ 'IconEditorSubtitle',
63
+ 'IconEditorSuper',
64
+ 'IconEditorTable',
65
+ 'IconEditorTextcolor',
66
+ 'IconEditorTitle',
67
+ 'IconEditorUnderline',
68
+ 'IconEditorUndo',
69
+ 'IconEditorVideo',
70
+ 'IconOperationfaildL',
71
+ 'IconOuterLink',
72
+ 'IconTextDecoration',
73
+ 'IconUnderline',
74
+ 'IconWriting'
75
+ ],
76
+ IT: [
77
+ 'IconAdministrator',
78
+ 'IconDataSource',
79
+ 'IconDesktopView',
80
+ 'IconEmailAdd',
81
+ 'IconEmailCircle',
82
+ 'IconExcel',
83
+ 'IconException',
84
+ 'IconExclamation',
85
+ 'IconLanguage',
86
+ 'IconMailContent',
87
+ 'IconMail',
88
+ 'IconMarkOn',
89
+ 'IconMobileView',
90
+ 'IconMobile',
91
+ 'IconPrintPreview',
92
+ 'IconReplies',
93
+ 'IconSent',
94
+ 'IconShare',
95
+ 'IconShareArrow',
96
+ 'IconShoppingCard',
97
+ 'IconTabletView',
98
+ 'IconUnlock',
99
+ 'IconUnsent',
100
+ 'IconUser',
101
+ 'IconVersiontree',
102
+ 'IconWebPlus',
103
+ 'IconJs'
104
+ ],
105
+ Media: [
106
+ 'IconCourse',
107
+ 'IconCustom',
108
+ 'IconCustomerService',
109
+ 'IconDialog',
110
+ 'IconDialog2',
111
+ 'IconInformation',
112
+ 'IconMessageCircle',
113
+ 'IconPagerFirst',
114
+ 'IconPagerLast',
115
+ 'IconPagerNext',
116
+ 'IconPagerPrev',
117
+ 'IconPauseCircle',
118
+ 'IconPause',
119
+ 'IconPicture',
120
+ 'IconStartCircle',
121
+ 'IconStart',
122
+ 'IconTime'
123
+ ],
124
+ Objects: [
125
+ 'IconBoat',
126
+ 'IconCalculator',
127
+ 'IconCalendar',
128
+ 'IconClockWork',
129
+ 'IconCloudDownload',
130
+ 'IconCloudUpload',
131
+ 'IconCoin',
132
+ 'IconTaskCooperation',
133
+ 'IconTelephoneCircle',
134
+ 'IconTelephone'
135
+ ],
136
+ Symbols: [
137
+ 'IconBusy',
138
+ 'IconCheck',
139
+ 'IconCheckedLinear',
140
+ 'IconCheckedSur',
141
+ 'IconCloseCircle',
142
+ 'IconCloseSquare',
143
+ 'IconCode',
144
+ 'IconCommission',
145
+ 'IconCueL',
146
+ 'IconCrop',
147
+ 'IconDotIpv4',
148
+ 'IconEllipsis',
149
+ 'IconError',
150
+ 'IconEyeclose',
151
+ 'IconEyeopen',
152
+ 'IconFrownO',
153
+ 'IconFrown',
154
+ 'IconGroup',
155
+ 'IconHeartempty',
156
+ 'IconHelpCircle',
157
+ 'IconHelpQuery',
158
+ 'IconHelpSolid',
159
+ 'IconHelp',
160
+ 'IconHelpful',
161
+ 'IconLeave',
162
+ 'IconLoading',
163
+ 'IconLock',
164
+ 'IconMale',
165
+ 'IconMeh',
166
+ 'IconMore',
167
+ 'IconPlus',
168
+ 'IconNodeOpen',
169
+ 'IconNode',
170
+ 'IconNone',
171
+ 'IconOffLine',
172
+ 'IconOnLine',
173
+ 'IconPanelMax',
174
+ 'IconPanelMini',
175
+ 'IconPanelNormal',
176
+ 'IconRadio',
177
+ 'IconRadioselected',
178
+ 'IconSmileO',
179
+ 'IconSmile',
180
+ 'IconStarActive',
181
+ 'IconStarDisable',
182
+ 'IconStarO',
183
+ 'IconStop',
184
+ 'IconSuccess',
185
+ 'IconSuccessful',
186
+ 'IconInfoSolid',
187
+ 'IconInfoCircle',
188
+ 'IconInfo',
189
+ 'IconOperationfaild',
190
+ 'IconUnknow',
191
+ 'IconUnknown',
192
+ 'IconWarning',
193
+ 'IconWarningTriangle',
194
+ 'IconClose',
195
+ 'IconYes'
196
+ ],
2
197
  Tools: [
3
198
  'IconAdd',
4
199
  'IconAlignBaseline',
@@ -119,200 +314,5 @@ export const iconGroups = {
119
314
  'IconView',
120
315
  'IconZoomIn',
121
316
  'IconZoomOut'
122
- ],
123
- Editor: [
124
- 'IconEditorAlignCenter',
125
- 'IconEditorAlignLeft',
126
- 'IconEditorAlignRight',
127
- 'IconEditorBackground',
128
- 'IconEditorBold',
129
- 'IconEditorCode',
130
- 'IconEditorDeleteline',
131
- 'IconEditorEraser',
132
- 'IconEditorItalic',
133
- 'IconEditorLeftBorder',
134
- 'IconEditorList',
135
- 'IconEditorListDot',
136
- 'IconEditorListNum',
137
- 'IconEditorMenuLeft',
138
- 'IconEditorMenuRight',
139
- 'IconEditorQuote',
140
- 'IconEditorRedo',
141
- 'IconEditorRightBorder',
142
- 'IconEditorSub',
143
- 'IconEditorSubtitle',
144
- 'IconEditorSuper',
145
- 'IconEditorTable',
146
- 'IconEditorTextcolor',
147
- 'IconEditorTitle',
148
- 'IconEditorUnderline',
149
- 'IconEditorUndo',
150
- 'IconEditorVideo',
151
- 'IconOperationfaildL',
152
- 'IconOuterLink',
153
- 'IconTextDecoration',
154
- 'IconUnderline',
155
- 'IconWriting'
156
- ],
157
- Arrow: [
158
- 'IconArrowDown',
159
- 'IconArrowLeft',
160
- 'IconArrowRight',
161
- 'IconArrowUp',
162
- 'IconAscending',
163
- 'IconChevronDown',
164
- 'IconChevronLeft',
165
- 'IconChevronRight',
166
- 'IconChevronUp',
167
- 'IconDefault',
168
- 'IconDeltaDownO',
169
- 'IconDeltaDown',
170
- 'IconDeltaLeftO',
171
- 'IconDeltaLeft',
172
- 'IconDeltaRightO',
173
- 'IconDeltaRight',
174
- 'IconDeltaUpO',
175
- 'IconDeltaUp',
176
- 'IconDoubleLeft',
177
- 'IconDoubleRight',
178
- 'IconDownO',
179
- 'IconDown',
180
- 'IconDownWard',
181
- 'IconEnd',
182
- 'IconLeftO',
183
- 'IconLeftWard',
184
- 'IconLeftWardArrow',
185
- 'IconLeft',
186
- 'IconPopup',
187
- 'IconRightO',
188
- 'IconRight',
189
- 'IconRightward',
190
- 'IconTriangleDown',
191
- 'IconUpO',
192
- 'IconUp',
193
- 'IconUpWard'
194
- ],
195
- Symbols: [
196
- 'IconBusy',
197
- 'IconCheck',
198
- 'IconCheckedLinear',
199
- 'IconCheckedSur',
200
- 'IconCloseCircle',
201
- 'IconCloseSquare',
202
- 'IconCode',
203
- 'IconCommission',
204
- 'IconCueL',
205
- 'IconCrop',
206
- 'IconDotIpv4',
207
- 'IconEllipsis',
208
- 'IconError',
209
- 'IconEyeclose',
210
- 'IconEyeopen',
211
- 'IconFrownO',
212
- 'IconFrown',
213
- 'IconGroup',
214
- 'IconHeartempty',
215
- 'IconHelpCircle',
216
- 'IconHelpQuery',
217
- 'IconHelpSolid',
218
- 'IconHelp',
219
- 'IconHelpful',
220
- 'IconLeave',
221
- 'IconLoading',
222
- 'IconLock',
223
- 'IconMale',
224
- 'IconMeh',
225
- 'IconMore',
226
- 'IconPlus',
227
- 'IconNodeOpen',
228
- 'IconNode',
229
- 'IconNone',
230
- 'IconOffLine',
231
- 'IconOnLine',
232
- 'IconPanelMax',
233
- 'IconPanelMini',
234
- 'IconPanelNormal',
235
- 'IconRadio',
236
- 'IconRadioselected',
237
- 'IconSmileO',
238
- 'IconSmile',
239
- 'IconStarActive',
240
- 'IconStarDisable',
241
- 'IconStarO',
242
- 'IconStop',
243
- 'IconSuccess',
244
- 'IconSuccessful',
245
- 'IconInfoSolid',
246
- 'IconInfoCircle',
247
- 'IconInfo',
248
- 'IconOperationfaild',
249
- 'IconUnknow',
250
- 'IconUnknown',
251
- 'IconWarning',
252
- 'IconWarningTriangle',
253
- 'IconClose',
254
- 'IconYes'
255
- ],
256
- Media: [
257
- 'IconCourse',
258
- 'IconCustom',
259
- 'IconCustomerService',
260
- 'IconDialog',
261
- 'IconDialog2',
262
- 'IconInformation',
263
- 'IconMessageCircle',
264
- 'IconPagerFirst',
265
- 'IconPagerLast',
266
- 'IconPagerNext',
267
- 'IconPagerPrev',
268
- 'IconPauseCircle',
269
- 'IconPause',
270
- 'IconPicture',
271
- 'IconStartCircle',
272
- 'IconStart',
273
- 'IconTime'
274
- ],
275
- Brands: ['IconAngularjs', 'IconEspaceAuto', 'IconEspace', 'IconNodejs', 'IconReactjs', 'IconVuejs'],
276
- Objects: [
277
- 'IconBoat',
278
- 'IconCalculator',
279
- 'IconCalendar',
280
- 'IconClockWork',
281
- 'IconCloudDownload',
282
- 'IconCloudUpload',
283
- 'IconCoin',
284
- 'IconTaskCooperation',
285
- 'IconTelephoneCircle',
286
- 'IconTelephone'
287
- ],
288
- Charts: ['IconAreaChart', 'IconDotChart', 'IconLineChart', 'IconPieChart', 'IconStatistics'],
289
- IT: [
290
- 'IconAdministrator',
291
- 'IconDataSource',
292
- 'IconDesktopView',
293
- 'IconEmailAdd',
294
- 'IconEmailCircle',
295
- 'IconExcel',
296
- 'IconException',
297
- 'IconExclamation',
298
- 'IconLanguage',
299
- 'IconMailContent',
300
- 'IconMail',
301
- 'IconMarkOn',
302
- 'IconMobileView',
303
- 'IconMobile',
304
- 'IconPrintPreview',
305
- 'IconReplies',
306
- 'IconSent',
307
- 'IconShare',
308
- 'IconShareArrow',
309
- 'IconShoppingCard',
310
- 'IconTabletView',
311
- 'IconUnlock',
312
- 'IconUnsent',
313
- 'IconUser',
314
- 'IconVersiontree',
315
- 'IconWebPlus',
316
- 'IconJs'
317
317
  ]
318
318
  }
@@ -1,8 +1,13 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test('test', async ({ page }) => {
4
- await page.goto('icon#show-title')
5
- await page.getByText('显示 Title').nth(1).click()
6
- await page.getByTitle('复制').locator('svg').click()
7
- await expect(page.locator('//*[@id="preview"]/div[2]/div[2]')).toHaveAttribute('title', '复制')
3
+ test('图标集', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('icon#list')
6
+
7
+ const icons = page.locator('.svgs-item > .tiny-svg')
8
+
9
+ for (let i = 0; i < 10; i++) {
10
+ await expect(icons.nth(i)).toHaveCSS('width', '24px')
11
+ await expect(icons.nth(i)).toHaveCSS('height', '24px')
12
+ }
8
13
  })
@@ -0,0 +1,8 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ test('显示title', async ({ page }) => {
4
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
5
+ await page.goto('icon#show-title')
6
+
7
+ await expect(page.getByTitle('复制')).toHaveCount(1)
8
+ })
@@ -12,6 +12,17 @@
12
12
  <div class="col">gutter {{ gutter }}px</div>
13
13
  </tiny-col>
14
14
  </tiny-row>
15
+ <tiny-row :gutter="0" noSpace>
16
+ <tiny-col :span="4">
17
+ <div class="col">noSpace</div>
18
+ </tiny-col>
19
+ <tiny-col :span="4">
20
+ <div class="col">noSpace</div>
21
+ </tiny-col>
22
+ <tiny-col :span="4">
23
+ <div class="col">noSpace</div>
24
+ </tiny-col>
25
+ </tiny-row>
15
26
  </tiny-layout>
16
27
  </div>
17
28
  </template>
@@ -13,4 +13,7 @@ test('gutter栅格间隔', async ({ page }) => {
13
13
 
14
14
  const row3 = layout.nth(2)
15
15
  await expect(row3.locator('div').first()).toHaveCSS('padding-left', '10px')
16
+
17
+ const row4 = layout.first()
18
+ await expect(row4).toHaveCSS('margin-left', '0px')
16
19
  })
@@ -12,6 +12,17 @@
12
12
  <div class="col">gutter {{ gutter }}px</div>
13
13
  </tiny-col>
14
14
  </tiny-row>
15
+ <tiny-row :gutter="0" noSpace>
16
+ <tiny-col :span="4">
17
+ <div class="col">noSpace</div>
18
+ </tiny-col>
19
+ <tiny-col :span="4">
20
+ <div class="col">noSpace</div>
21
+ </tiny-col>
22
+ <tiny-col :span="4">
23
+ <div class="col">noSpace</div>
24
+ </tiny-col>
25
+ </tiny-row>
15
26
  </tiny-layout>
16
27
  </div>
17
28
  </template>
@@ -81,8 +81,9 @@ export default {
81
81
  'name': { 'zh-CN': '栅格间隔', 'en-US': 'Gutter' },
82
82
  'desc': {
83
83
  'zh-CN': `
84
- 通过使用 <code>Row</code> 组件的 <code>gutter</code> 属性实现栅格间隔。
85
- 不设置 <code>gutter</code> 时,组件会默认为 <code>Col</code> 设置<code> 左右10px </code>的padding值。
84
+ 通过使用 <code>Row</code> 组件的 <code>gutter</code> 属性实现栅格间隔。<br>
85
+ 不设置 <code>gutter</code> 时,组件会默认为 <code>Col</code> 设置<code> 左右10px </code>的padding值<br>
86
+ 通过 <code>noSpace</code> 属性,让子项间没有间距。
86
87
  `,
87
88
  'en-US': `
88
89
  This is done by using the <code>gutter</code> property of the <code>Row</code> component.
@@ -156,10 +157,20 @@ export default {
156
157
  {
157
158
  'name': 'gutter',
158
159
  'type': 'number',
159
- 'defaultValue': '20',
160
+ 'defaultValue': '0',
160
161
  'desc': { 'zh-CN': '子项的间隔的像素', 'en-US': 'The spacing of the child items in pixels' },
161
162
  'demoId': 'gutter'
162
163
  },
164
+ {
165
+ 'name': 'noSpace',
166
+ 'type': 'boolean',
167
+ 'defaultValue': 'false',
168
+ 'desc': {
169
+ 'zh-CN': '子项没有间隔,相当于强制gutter=0的情况',
170
+ 'en-US': 'Child entries have no spacing, equivalent to forcing gutter=0'
171
+ },
172
+ 'demoId': 'gutter'
173
+ },
163
174
  {
164
175
  'name': 'justify',
165
176
  'type': 'string',
@@ -3,15 +3,24 @@ import { test, expect } from '@playwright/test'
3
3
  test('多选复制单个标签', async ({ page }) => {
4
4
  await page.goto('select#copy-multi')
5
5
 
6
- await page.waitForTimeout(1000)
7
- await page.mouse.move(392, 316)
8
- await page.waitForTimeout(1000)
6
+ const wrap = page.locator('#copy-multi')
7
+ const select = wrap.locator('.tiny-select').nth(0)
8
+ const tag = select.locator('.tiny-tag').nth(0)
9
+ const tagBox = await tag.locator('span').boundingBox()
10
+ const x = tagBox.x + tagBox.width
11
+ const y = tagBox.y + tagBox.height - 5
12
+
13
+ await page.waitForTimeout(200)
14
+ await page.mouse.move(tagBox.x, tagBox.y)
15
+ await page.waitForTimeout(200)
9
16
  await page.mouse.down()
10
- await page.waitForTimeout(1000)
11
- await page.mouse.move(346, 316)
12
- await page.waitForTimeout(1000)
17
+ await page.waitForTimeout(200)
18
+ await page.mouse.move(x, y)
19
+ await page.waitForTimeout(200)
13
20
  await page.mouse.up()
21
+
14
22
  await page.keyboard.press('Control+C')
23
+ await page.waitForTimeout(200)
15
24
  const valueInput = page.locator('.copy-value .tiny-input__inner')
16
25
  await expect(valueInput).toHaveValue('')
17
26
  await valueInput.focus()
@@ -28,7 +28,6 @@ test('下拉弹框宽度与输入框一致', async ({ page }) => {
28
28
  await select.click()
29
29
  const inputBox = await input.boundingBox()
30
30
  const listitemBox = await option.first().boundingBox()
31
-
32
- const result = listitemBox.width === inputBox.width
33
- await expect(result).toBe(true)
31
+ const result = listitemBox.width - inputBox.width
32
+ await expect(result).toBeCloseTo(0, 0)
34
33
  })
@@ -36,7 +36,9 @@
36
36
  import { ref, reactive } from 'vue'
37
37
  import { Select as TinySelect } from '@opentiny/vue'
38
38
 
39
- const radioValue = ref('')
39
+ const value1 = ref('')
40
+ const value2 = reactive([])
41
+ const value3 = ref('')
40
42
 
41
43
  const gridOpSingle = reactive({
42
44
  data: [
@@ -16,6 +16,7 @@ test('单选虚拟滚动', async ({ page }) => {
16
16
  await page.waitForTimeout(1000)
17
17
  await expect(option.filter({ hasText: '黄金糕17' })).toBeHidden()
18
18
  await option.nth(9).scrollIntoViewIfNeeded()
19
+ await page.waitForTimeout(1000)
19
20
  await option.filter({ hasText: '黄金糕17' }).click()
20
21
  await expect(input).toHaveValue('黄金糕17')
21
22
  })
@@ -6,7 +6,7 @@ test('是否正常移除标签', async ({ page }) => {
6
6
 
7
7
  const first = page.locator('.tiny-tag').filter({ hasText: '标签一' })
8
8
  const close = first.locator('.tiny-tag__close')
9
- const modal = page.locator('.tiny-modal__box')
9
+ const modal = page.locator('.tiny-modal__box').nth(0)
10
10
 
11
11
  await close.click()
12
12
  await modal.waitFor({ state: 'attached', timeout: 100 })
@@ -4,7 +4,7 @@ test('边框和自定义背景色', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('tag#color3')
6
6
 
7
- const tags = page.locator('.tiny-tag')
7
+ const tags = page.locator('.all-demos-container').locator('.tiny-tag')
8
8
  const first = tags.nth(0)
9
9
 
10
10
  await expect(tags).toHaveClass([
@@ -1,10 +1,10 @@
1
1
  import { test, expect } from '@playwright/test'
2
2
 
3
- test('progress 正常显示', async ({ page }) => {
3
+ test('配置式标签', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('tag#content')
6
6
 
7
- const tag = page.locator('#preview').getByText('配置式标签')
7
+ const tag = page.locator('.all-demos-container').getByText('配置式标签')
8
8
 
9
9
  await expect(tag).toHaveCount(1)
10
10
  })
@@ -4,16 +4,16 @@ test('动态编辑标签', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('tag#create')
6
6
 
7
- const preview = page.locator('#preview')
7
+ const preview = page.locator('.all-demos-container')
8
8
  const add = page.getByRole('button', { name: '+ New Tag' })
9
9
  const input = preview.getByRole('textbox')
10
- const newTag = preview.getByText('新标签')
10
+ const newTag = preview.locator('.tiny-tag').filter({ hasText: '新标签' })
11
11
  const close = page.locator('span').filter({ hasText: '新标签' }).locator('svg')
12
12
 
13
13
  await add.click()
14
14
  await input.fill('新标签')
15
15
  await input.press('Enter')
16
- await expect(newTag, 'Creation failed').toBeVisible()
16
+ await expect(newTag).toHaveCount(1)
17
17
  await close.click()
18
18
  await expect(newTag, 'Deletion failed').not.toBeVisible()
19
19
  })
@@ -4,7 +4,7 @@ test('是否正常禁用', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('tag#disabled')
6
6
 
7
- const tags = page.locator('.tiny-tag')
7
+ const tags = page.locator('.all-demos-container').locator('.tiny-tag')
8
8
  const close = tags.last().locator('.tiny-tag__close')
9
9
 
10
10
  await expect(tags).toHaveClass([/is-disabled/, /is-disabled/, /is-disabled/])
@@ -4,9 +4,10 @@ test('三大主题分别对应的五种类型', async ({ page }) => {
4
4
  page.on('pageerror', (exception) => expect(exception).not.toBeNull())
5
5
  await page.goto('tag#effect')
6
6
 
7
- const light = page.locator('.tiny-tag--light')
8
- const dark = page.locator('.tiny-tag--dark')
9
- const plain = page.locator('.tiny-tag--plain')
7
+ const scoped = page.locator('.all-demos-container')
8
+ const light = scoped.locator('.tiny-tag--light')
9
+ const dark = scoped.locator('.tiny-tag--dark')
10
+ const plain = scoped.locator('.tiny-tag--plain')
10
11
 
11
12
  await expect(light).toHaveCount(5)
12
13
  await expect(dark).toHaveCount(5)