@opentiny/vue-docs 2.1.3 → 2.1.5

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 (144) hide show
  1. package/demos/pc/app/grid/align/footer-align/{left-footer-align-composition-api.vue → footer-align-composition-api.vue} +35 -19
  2. package/demos/pc/app/grid/align/footer-align/{left-footer-align.vue → footer-align.vue} +35 -19
  3. package/demos/pc/app/grid/align/grid-align/{left-grid-align-composition-api.vue → grid-align-composition-api.vue} +4 -5
  4. package/demos/pc/app/grid/align/grid-align/{left-grid-align.vue → grid-align.vue} +4 -5
  5. package/demos/pc/app/grid/align/header-align/{left-header-align-composition-api.vue → header-align-composition-api.vue} +4 -4
  6. package/demos/pc/app/grid/align/{grid-align/right-grid-align.vue → header-align/header-align.vue} +5 -6
  7. package/demos/pc/app/grid/slot/editor-slot-composition-api.vue +66 -0
  8. package/demos/pc/app/grid/webdoc/grid-align.js +6 -53
  9. package/demos/pc/app/select/allow-create-composition-api.vue +1 -1
  10. package/demos/pc/app/select/allow-create.vue +1 -1
  11. package/demos/pc/app/select/automatic-dropdown-composition-api.vue +3 -3
  12. package/demos/pc/app/select/automatic-dropdown.vue +1 -1
  13. package/demos/pc/app/select/basic-usage-composition-api.vue +1 -1
  14. package/demos/pc/app/select/basic-usage.vue +1 -1
  15. package/demos/pc/app/select/binding-obj-composition-api.vue +1 -1
  16. package/demos/pc/app/select/binding-obj.vue +1 -1
  17. package/demos/pc/app/select/cache-usage-composition-api.vue +2 -3
  18. package/demos/pc/app/select/cache-usage.vue +1 -1
  19. package/demos/pc/app/select/clear-no-match-value-composition-api.vue +6 -2
  20. package/demos/pc/app/select/clear-no-match-value.vue +6 -2
  21. package/demos/pc/app/select/clearable-composition-api.vue +1 -1
  22. package/demos/pc/app/select/clearable.vue +1 -1
  23. package/demos/pc/app/select/collapse-tags-composition-api.vue +1 -1
  24. package/demos/pc/app/select/collapse-tags.vue +1 -1
  25. package/demos/pc/app/select/custom-options-composition-api.vue +1 -1
  26. package/demos/pc/app/select/custom-options.vue +1 -1
  27. package/demos/pc/app/select/custom-prefix-composition-api.vue +1 -1
  28. package/demos/pc/app/select/custom-prefix.vue +3 -3
  29. package/demos/pc/app/select/custom-reference-slot-composition-api.vue +1 -1
  30. package/demos/pc/app/select/custom-reference-slot.vue +1 -1
  31. package/demos/pc/app/select/disable-grid-select-radio-composition-api.vue +3 -2
  32. package/demos/pc/app/select/disable-grid-select-radio.vue +3 -2
  33. package/demos/pc/app/select/disabled-and-selected-options-composition-api.vue +1 -1
  34. package/demos/pc/app/select/disabled-and-selected-options.vue +1 -1
  35. package/demos/pc/app/select/disabled-composition-api.vue +1 -1
  36. package/demos/pc/app/select/disabled-options-composition-api.vue +1 -1
  37. package/demos/pc/app/select/disabled-options.vue +1 -1
  38. package/demos/pc/app/select/disabled.vue +1 -1
  39. package/demos/pc/app/select/envts-change-composition-api.vue +5 -5
  40. package/demos/pc/app/select/envts-change.vue +1 -1
  41. package/demos/pc/app/select/envts-remove-composition-api.vue +2 -2
  42. package/demos/pc/app/select/envts-remove.vue +1 -1
  43. package/demos/pc/app/select/filter-method-composition-api.vue +2 -2
  44. package/demos/pc/app/select/filter-method.vue +3 -1
  45. package/demos/pc/app/select/focus-remote-method-composition-api.vue +2 -2
  46. package/demos/pc/app/select/focus-remote-method.vue +1 -1
  47. package/demos/pc/app/select/hide-select-input-border-composition-api.vue +1 -1
  48. package/demos/pc/app/select/hide-select-input-border.vue +1 -1
  49. package/demos/pc/app/select/input-box-type-composition-api.vue +11 -4
  50. package/demos/pc/app/select/input-box-type.vue +11 -4
  51. package/demos/pc/app/select/is-drop-inherit-width-composition-api.vue +10 -3
  52. package/demos/pc/app/select/is-drop-inherit-width.vue +10 -3
  53. package/demos/pc/app/select/manual-focus-blur-composition-api.vue +3 -3
  54. package/demos/pc/app/select/manual-focus-blur.vue +1 -1
  55. package/demos/pc/app/select/memoize-usage-composition-api.vue +2 -2
  56. package/demos/pc/app/select/memoize-usage.vue +1 -1
  57. package/demos/pc/app/select/multiple-composition-api.vue +1 -1
  58. package/demos/pc/app/select/multiple-limit-composition-api.vue +1 -1
  59. package/demos/pc/app/select/multiple-limit.vue +1 -1
  60. package/demos/pc/app/select/multiple.vue +1 -1
  61. package/demos/pc/app/select/name-composition-api.vue +1 -1
  62. package/demos/pc/app/select/name.vue +1 -1
  63. package/demos/pc/app/select/nest-checkbox-grid-clearable-composition-api.vue +2 -2
  64. package/demos/pc/app/select/nest-checkbox-grid-clearable.vue +1 -1
  65. package/demos/pc/app/select/nest-checkbox-grid-composition-api.vue +1 -1
  66. package/demos/pc/app/select/nest-checkbox-grid.vue +1 -1
  67. package/demos/pc/app/select/nest-checkbox-tree-composition-api.vue +1 -1
  68. package/demos/pc/app/select/nest-checkbox-tree.vue +1 -1
  69. package/demos/pc/app/select/nest-filterable-tree-composition-api.vue +2 -2
  70. package/demos/pc/app/select/nest-filterable-tree.vue +1 -1
  71. package/demos/pc/app/select/nest-grid-remote-filter-composition-api.vue +5 -4
  72. package/demos/pc/app/select/nest-grid-remote-filter.vue +3 -2
  73. package/demos/pc/app/select/nest-radio-grid-composition-api.vue +1 -1
  74. package/demos/pc/app/select/nest-radio-grid-much-data-composition-api.vue +1 -1
  75. package/demos/pc/app/select/nest-radio-grid-much-data.vue +1 -1
  76. package/demos/pc/app/select/nest-radio-grid.vue +1 -1
  77. package/demos/pc/app/select/nest-radio-tree-composition-api.vue +1 -1
  78. package/demos/pc/app/select/nest-radio-tree.vue +1 -1
  79. package/demos/pc/app/select/nest-remote-grid-composition-api.vue +5 -3
  80. package/demos/pc/app/select/nest-remote-grid.vue +4 -2
  81. package/demos/pc/app/select/no-data-text-composition-api.vue +11 -3
  82. package/demos/pc/app/select/no-data-text.vue +10 -3
  83. package/demos/pc/app/select/no-match-text-composition-api.vue +1 -1
  84. package/demos/pc/app/select/no-match-text.vue +1 -1
  85. package/demos/pc/app/select/optimization-composition-api.vue +2 -2
  86. package/demos/pc/app/select/optimization.vue +1 -1
  87. package/demos/pc/app/select/option-group-composition-api.vue +1 -1
  88. package/demos/pc/app/select/option-group-disable-composition-api.vue +1 -1
  89. package/demos/pc/app/select/option-group-disable.vue +1 -1
  90. package/demos/pc/app/select/option-group.vue +1 -1
  91. package/demos/pc/app/select/popup-style-position-composition-api.vue +1 -1
  92. package/demos/pc/app/select/popup-style-position.vue +1 -1
  93. package/demos/pc/app/select/remote-method-composition-api.vue +2 -2
  94. package/demos/pc/app/select/remote-method.vue +1 -1
  95. package/demos/pc/app/select/remote-search-allow-copy-composition-api.vue +10 -3
  96. package/demos/pc/app/select/remote-search-allow-copy.vue +12 -4
  97. package/demos/pc/app/select/search-allow-copy-composition-api.vue +10 -3
  98. package/demos/pc/app/select/search-allow-copy.vue +12 -4
  99. package/demos/pc/app/select/searchable-composition-api.vue +10 -3
  100. package/demos/pc/app/select/searchable.vue +10 -3
  101. package/demos/pc/app/select/set-input-value-composition-api.vue +2 -2
  102. package/demos/pc/app/select/set-input-value.vue +1 -1
  103. package/demos/pc/app/select/show-alloption-composition-api.vue +1 -1
  104. package/demos/pc/app/select/show-alloption.vue +1 -1
  105. package/demos/pc/app/select/show-tip-composition-api.vue +1 -1
  106. package/demos/pc/app/select/show-tip.vue +1 -1
  107. package/demos/pc/app/select/size-medium-composition-api.vue +1 -1
  108. package/demos/pc/app/select/size-medium.vue +1 -1
  109. package/demos/pc/app/select/size-mini-composition-api.vue +1 -1
  110. package/demos/pc/app/select/size-small-composition-api.vue +1 -1
  111. package/demos/pc/app/select/slot-default-composition-api.vue +1 -1
  112. package/demos/pc/app/select/slot-default.vue +1 -1
  113. package/demos/pc/app/select/slot-empty-composition-api.vue +1 -1
  114. package/demos/pc/app/select/slot-empty.vue +1 -1
  115. package/demos/pc/app/select/slot-footer-composition-api.vue +1 -1
  116. package/demos/pc/app/select/tag-copy-all-composition-api.vue +10 -3
  117. package/demos/pc/app/select/tag-copy-all.vue +12 -4
  118. package/demos/pc/app/select/tag-select-composition-api.vue +10 -3
  119. package/demos/pc/app/select/tag-select.vue +12 -4
  120. package/demos/pc/app/select/tag-type-composition-api.vue +1 -1
  121. package/demos/pc/app/select/tag-type.vue +1 -1
  122. package/demos/pc/app/select/webdoc/select.js +1 -1
  123. package/package.json +6 -6
  124. package/demos/pc/app/grid/align/footer-align/center-footer-align-composition-api.vue +0 -101
  125. package/demos/pc/app/grid/align/footer-align/center-footer-align.spec.js +0 -7
  126. package/demos/pc/app/grid/align/footer-align/center-footer-align.vue +0 -111
  127. package/demos/pc/app/grid/align/footer-align/right-footer-align-composition-api.vue +0 -101
  128. package/demos/pc/app/grid/align/footer-align/right-footer-align.spec.js +0 -7
  129. package/demos/pc/app/grid/align/footer-align/right-footer-align.vue +0 -111
  130. package/demos/pc/app/grid/align/grid-align/center-grid-align-composition-api.vue +0 -74
  131. package/demos/pc/app/grid/align/grid-align/center-grid-align.spec.js +0 -7
  132. package/demos/pc/app/grid/align/grid-align/center-grid-align.vue +0 -83
  133. package/demos/pc/app/grid/align/grid-align/right-grid-align-composition-api.vue +0 -74
  134. package/demos/pc/app/grid/align/grid-align/right-grid-align.spec.js +0 -7
  135. package/demos/pc/app/grid/align/header-align/center-header-align-composition-api.vue +0 -73
  136. package/demos/pc/app/grid/align/header-align/center-header-align.spec.js +0 -7
  137. package/demos/pc/app/grid/align/header-align/center-header-align.vue +0 -82
  138. package/demos/pc/app/grid/align/header-align/left-header-align.vue +0 -82
  139. package/demos/pc/app/grid/align/header-align/right-header-align-composition-api.vue +0 -73
  140. package/demos/pc/app/grid/align/header-align/right-header-align.spec.js +0 -7
  141. package/demos/pc/app/grid/align/header-align/right-header-align.vue +0 -82
  142. /package/demos/pc/app/grid/align/footer-align/{left-footer-align.spec.js → footer-align.spec.js} +0 -0
  143. /package/demos/pc/app/grid/align/grid-align/{left-grid-align.spec.js → grid-align.spec.js} +0 -0
  144. /package/demos/pc/app/grid/align/header-align/{left-header-align.spec.js → header-align.spec.js} +0 -0
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  </template>
9
9
 
10
- <script setup lang="jsx">
10
+ <script setup>
11
11
  import { ref } from 'vue'
12
12
  import { Select as TinySelect, Option as TinyOption, Button as TinyButton } from '@opentiny/vue'
13
13
 
@@ -20,7 +20,7 @@ const options = ref([
20
20
  ])
21
21
  const value = ref('')
22
22
 
23
- function click() {
23
+ const click = () => {
24
24
  value.value = ['选项4']
25
25
  }
26
26
  </script>
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  </template>
9
9
 
10
- <script lang="jsx">
10
+ <script>
11
11
  import { Select, Option, Button } from '@opentiny/vue'
12
12
 
13
13
  export default {
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script setup lang="jsx">
7
+ <script setup>
8
8
  import { ref } from 'vue'
9
9
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
10
10
 
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script lang="jsx">
7
+ <script>
8
8
  import { Select, Option } from '@opentiny/vue'
9
9
 
10
10
  export default {
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script setup lang="jsx">
7
+ <script setup>
8
8
  import { ref } from 'vue'
9
9
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
10
10
 
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script lang="jsx">
7
+ <script>
8
8
  import { Select, Option } from '@opentiny/vue'
9
9
 
10
10
  export default {
@@ -2,7 +2,7 @@
2
2
  <tiny-select v-model="value" placeholder="请选择" size="medium" multiple :options="options"></tiny-select>
3
3
  </template>
4
4
 
5
- <script setup lang="jsx">
5
+ <script setup>
6
6
  import { ref } from 'vue'
7
7
  import { Select as TinySelect } from '@opentiny/vue'
8
8
 
@@ -11,7 +11,7 @@
11
11
  </tiny-select>
12
12
  </template>
13
13
 
14
- <script lang="jsx">
14
+ <script>
15
15
  import { Option, Select } from '@opentiny/vue'
16
16
 
17
17
  export default {
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script setup lang="jsx">
7
+ <script setup>
8
8
  import { ref } from 'vue'
9
9
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
10
10
 
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script setup lang="jsx">
7
+ <script setup>
8
8
  import { ref } from 'vue'
9
9
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
10
10
 
@@ -7,7 +7,7 @@
7
7
  </tiny-select>
8
8
  </template>
9
9
 
10
- <script setup lang="jsx">
10
+ <script setup>
11
11
  import { ref } from 'vue'
12
12
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
13
13
 
@@ -7,7 +7,7 @@
7
7
  </tiny-select>
8
8
  </template>
9
9
 
10
- <script lang="jsx">
10
+ <script>
11
11
  import { Select, Option } from '@opentiny/vue'
12
12
 
13
13
  export default {
@@ -6,7 +6,7 @@
6
6
  </tiny-select>
7
7
  </template>
8
8
 
9
- <script setup lang="jsx">
9
+ <script setup>
10
10
  import { ref } from 'vue'
11
11
  import { Select as TinySelect } from '@opentiny/vue'
12
12
 
@@ -6,7 +6,7 @@
6
6
  </tiny-select>
7
7
  </template>
8
8
 
9
- <script lang="jsx">
9
+ <script>
10
10
  import { Select } from '@opentiny/vue'
11
11
 
12
12
  export default {
@@ -9,7 +9,7 @@
9
9
  </tiny-select>
10
10
  </template>
11
11
 
12
- <script setup lang="jsx">
12
+ <script setup>
13
13
  import { ref } from 'vue'
14
14
  import { Select as TinySelect, Option as TinyOption, Button as TinyButton } from '@opentiny/vue'
15
15
 
@@ -10,12 +10,12 @@
10
10
  >
11
11
  </tiny-option>
12
12
  </tiny-select>
13
- <p>复制到此处:</p>
13
+ <p class="font-style">复制到此处:</p>
14
14
  <input class="copy-value" type="text" />
15
15
  </div>
16
16
  </template>
17
17
 
18
- <script setup lang="jsx">
18
+ <script setup>
19
19
  import { ref } from 'vue'
20
20
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
21
21
 
@@ -29,7 +29,7 @@ const options = ref([
29
29
  const value = ref(['选项1'])
30
30
  const selectRef = ref()
31
31
 
32
- function filter(value) {
32
+ const filter = (value) => {
33
33
  const select = selectRef.value
34
34
 
35
35
  if (value) {
@@ -43,3 +43,10 @@ function filter(value) {
43
43
  }
44
44
  }
45
45
  </script>
46
+
47
+ <style scoped>
48
+ .font-style {
49
+ font-size: 14px;
50
+ margin: 8px;
51
+ }
52
+ </style>
@@ -10,18 +10,19 @@
10
10
  >
11
11
  </tiny-option>
12
12
  </tiny-select>
13
- <p>复制到此处:</p>
14
- <input class="copy-value" type="text" />
13
+ <p class="font-style">复制到此处:</p>
14
+ <tiny-input class="copy-value" type="text" />
15
15
  </div>
16
16
  </template>
17
17
 
18
18
  <script lang="jsx">
19
- import { Select, Option } from '@opentiny/vue'
19
+ import { Select, Option, Input } from '@opentiny/vue'
20
20
 
21
21
  export default {
22
22
  components: {
23
23
  TinySelect: Select,
24
- TinyOption: Option
24
+ TinyOption: Option,
25
+ TinyInput: Input
25
26
  },
26
27
  data() {
27
28
  return {
@@ -52,3 +53,10 @@ export default {
52
53
  }
53
54
  }
54
55
  </script>
56
+
57
+ <style scoped>
58
+ .font-style {
59
+ font-size: 14px;
60
+ margin: 8px;
61
+ }
62
+ </style>
@@ -10,12 +10,12 @@
10
10
  >
11
11
  </tiny-option>
12
12
  </tiny-select>
13
- <p>复制到此处:</p>
13
+ <p class="font-style">复制到此处:</p>
14
14
  <input class="copy-value" type="text" />
15
15
  </div>
16
16
  </template>
17
17
 
18
- <script setup lang="jsx">
18
+ <script setup>
19
19
  import { ref } from 'vue'
20
20
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
21
21
 
@@ -29,7 +29,7 @@ const options = ref([
29
29
  const value = ref(['选项1'])
30
30
  const selectRef = ref()
31
31
 
32
- function filter(value) {
32
+ const filter = (value) => {
33
33
  const select = selectRef.value
34
34
 
35
35
  if (value) {
@@ -43,3 +43,10 @@ function filter(value) {
43
43
  }
44
44
  }
45
45
  </script>
46
+
47
+ <style scoped>
48
+ .font-style {
49
+ font-size: 14px;
50
+ margin: 8px;
51
+ }
52
+ </style>
@@ -10,18 +10,19 @@
10
10
  >
11
11
  </tiny-option>
12
12
  </tiny-select>
13
- <p>复制到此处:</p>
14
- <input class="copy-value" type="text" />
13
+ <p class="font-style">复制到此处:</p>
14
+ <tiny-input class="copy-value" type="text" />
15
15
  </div>
16
16
  </template>
17
17
 
18
18
  <script lang="jsx">
19
- import { Select, Option } from '@opentiny/vue'
19
+ import { Select, Option, Input } from '@opentiny/vue'
20
20
 
21
21
  export default {
22
22
  components: {
23
23
  TinySelect: Select,
24
- TinyOption: Option
24
+ TinyOption: Option,
25
+ TinyInput: Input
25
26
  },
26
27
  data() {
27
28
  return {
@@ -52,3 +53,10 @@ export default {
52
53
  }
53
54
  }
54
55
  </script>
56
+
57
+ <style scoped>
58
+ .font-style {
59
+ font-size: 14px;
60
+ margin: 8px;
61
+ }
62
+ </style>
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script setup lang="jsx">
7
+ <script setup>
8
8
  import { ref } from 'vue'
9
9
  import { Select as TinySelect, Option as TinyOption } from '@opentiny/vue'
10
10
 
@@ -4,7 +4,7 @@
4
4
  </tiny-select>
5
5
  </template>
6
6
 
7
- <script lang="jsx">
7
+ <script>
8
8
  import { Select, Option } from '@opentiny/vue'
9
9
 
10
10
  export default {
@@ -128,7 +128,7 @@ export default {
128
128
  },
129
129
  {
130
130
  'demoId': 'size-medium',
131
- 'name': { 'zh-CN': 'select', 'en-US': 'small' },
131
+ 'name': { 'zh-CN': '尺寸', 'en-US': 'small' },
132
132
  'desc': {
133
133
  'zh-CN':
134
134
  '<p>通过 <code>size</code> 属性定义输入框尺寸,可选项有 medium、small、mini 。\n通过 <code>options</code> 配置 Select 数据项,使用后不需要再配置 tiny-option。</p>\n',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/vue-docs",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "dependencies": {
5
5
  "@unocss/reset": "0.38.2",
6
6
  "@vue/repl": "^2.5.5",
@@ -17,15 +17,15 @@
17
17
  "sortablejs": "1.15.0",
18
18
  "@opentiny/vue-repl": "^1.0.2",
19
19
  "@opentiny/vue": "~3.11.0",
20
- "@opentiny/vue-icon-saas": "~3.11.0",
21
- "@opentiny/vue-theme": "~3.11.0",
22
20
  "@opentiny/vue-common": "~3.11.0",
21
+ "@opentiny/vue-icon": "~3.11.0",
23
22
  "@opentiny/vue-design-aurora": "~3.11.0",
23
+ "@opentiny/vue-theme": "~3.11.0",
24
+ "@opentiny/vue-icon-saas": "~3.11.0",
24
25
  "@opentiny/vue-design-smb": "~3.11.0",
25
26
  "@opentiny/vue-theme-mobile": "~3.11.0",
26
- "@opentiny/vue-icon": "~3.11.0",
27
- "@opentiny/vue-theme-saas": "~3.11.0",
28
- "@opentiny/vue-vite-import": "~1.1.5"
27
+ "@opentiny/vue-vite-import": "~1.1.5",
28
+ "@opentiny/vue-theme-saas": "~3.11.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/markdown-it": "^12.2.3",
@@ -1,101 +0,0 @@
1
- <template>
2
- <tiny-grid :data="tableData" show-footer :footer-method="footerMethod" border footer-align="center">
3
- <tiny-grid-column type="index" width="60"></tiny-grid-column>
4
- <tiny-grid-column type="selection" width="60"></tiny-grid-column>
5
- <tiny-grid-column field="name" title="公司名称"></tiny-grid-column>
6
- <tiny-grid-column field="employees" title="员工数" footer-align="left"></tiny-grid-column>
7
- <tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
8
- <tiny-grid-column field="city" title="城市"></tiny-grid-column>
9
- </tiny-grid>
10
- </template>
11
-
12
- <script setup lang="jsx">
13
- import { ref } from 'vue'
14
- import { Grid as TinyGrid, GridColumn as TinyGridColumn } from '@opentiny/vue'
15
-
16
- const tableData = ref([
17
- {
18
- id: '1',
19
- name: 'GFD科技YX公司',
20
- city: '福州',
21
- employees: 800,
22
- createdDate: '2014-04-30 00:56:00'
23
- },
24
- {
25
- id: '2',
26
- name: 'WWW科技YX公司',
27
- city: '深圳',
28
- employees: 300,
29
- createdDate: '2016-07-08 12:36:22'
30
- },
31
- {
32
- id: '3',
33
- name: 'RFV有限责任公司',
34
- city: '中山',
35
- employees: 1300,
36
- createdDate: '2014-02-14 14:14:14'
37
- },
38
- {
39
- id: '4',
40
- name: 'TGB科技YX公司',
41
- city: '龙岩',
42
- employees: 360,
43
- createdDate: '2013-01-13 13:13:13'
44
- },
45
- {
46
- id: '5',
47
- name: 'YHN科技YX公司',
48
- city: '韶关',
49
- employees: 810,
50
- createdDate: '2012-12-12 12:12:12'
51
- },
52
- {
53
- id: '6',
54
- name: 'WSX科技YX公司',
55
- city: '黄冈',
56
- employees: 800,
57
- createdDate: '2011-11-11 11:11:11'
58
- },
59
- {
60
- id: '7',
61
- name: 'KBG物业YX公司',
62
- city: '赤壁',
63
- employees: 400,
64
- createdDate: '2016-04-30 23:56:00'
65
- },
66
- {
67
- id: '8',
68
- name: '深圳市福德宝网络技术YX公司',
69
- city: '厦门',
70
- employees: 540,
71
- createdDate: '2016-06-03 13:53:25'
72
- }
73
- ])
74
-
75
- function footerMethod({ columns, data }) {
76
- return [
77
- columns.map((column, columnIndex) => {
78
- if (columnIndex === 0) {
79
- return '平均'
80
- }
81
-
82
- if (column.property === 'employees') {
83
- return Math.floor(data.map((item) => item[column.property]).reduce((acc, item) => acc + item) / data.length)
84
- }
85
-
86
- return null
87
- }),
88
- columns.map((column, columnIndex) => {
89
- if (columnIndex === 0) {
90
- return '和值'
91
- }
92
-
93
- if (column.property === 'employees') {
94
- return data.map((item) => item[column.property]).reduce((acc, item) => acc + item)
95
- }
96
-
97
- return null
98
- })
99
- ]
100
- }
101
- </script>
@@ -1,7 +0,0 @@
1
- import { test, expect } from '@playwright/test'
2
-
3
- test('表尾居中对齐', async ({ page }) => {
4
- page.on('pageerror', (exception) => expect(exception).toBeNull())
5
- await page.goto('http://localhost:7130/pc/grid-align/align-footer-align-center-footer-align')
6
- await expect(page.getByRole('cell', { name: '平均' })).toHaveCSS('text-align', 'center')
7
- })
@@ -1,111 +0,0 @@
1
- <template>
2
- <tiny-grid :data="tableData" show-footer :footer-method="footerMethod" border footer-align="center">
3
- <tiny-grid-column type="index" width="60"></tiny-grid-column>
4
- <tiny-grid-column type="selection" width="60"></tiny-grid-column>
5
- <tiny-grid-column field="name" title="公司名称"></tiny-grid-column>
6
- <tiny-grid-column field="employees" title="员工数" footer-align="left"></tiny-grid-column>
7
- <tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
8
- <tiny-grid-column field="city" title="城市"></tiny-grid-column>
9
- </tiny-grid>
10
- </template>
11
-
12
- <script lang="jsx">
13
- import { Grid, GridColumn } from '@opentiny/vue'
14
-
15
- export default {
16
- components: {
17
- TinyGrid: Grid,
18
- TinyGridColumn: GridColumn
19
- },
20
- data() {
21
- return {
22
- tableData: [
23
- {
24
- id: '1',
25
- name: 'GFD科技YX公司',
26
- city: '福州',
27
- employees: 800,
28
- createdDate: '2014-04-30 00:56:00'
29
- },
30
- {
31
- id: '2',
32
- name: 'WWW科技YX公司',
33
- city: '深圳',
34
- employees: 300,
35
- createdDate: '2016-07-08 12:36:22'
36
- },
37
- {
38
- id: '3',
39
- name: 'RFV有限责任公司',
40
- city: '中山',
41
- employees: 1300,
42
- createdDate: '2014-02-14 14:14:14'
43
- },
44
- {
45
- id: '4',
46
- name: 'TGB科技YX公司',
47
- city: '龙岩',
48
- employees: 360,
49
- createdDate: '2013-01-13 13:13:13'
50
- },
51
- {
52
- id: '5',
53
- name: 'YHN科技YX公司',
54
- city: '韶关',
55
- employees: 810,
56
- createdDate: '2012-12-12 12:12:12'
57
- },
58
- {
59
- id: '6',
60
- name: 'WSX科技YX公司',
61
- city: '黄冈',
62
- employees: 800,
63
- createdDate: '2011-11-11 11:11:11'
64
- },
65
- {
66
- id: '7',
67
- name: 'KBG物业YX公司',
68
- city: '赤壁',
69
- employees: 400,
70
- createdDate: '2016-04-30 23:56:00'
71
- },
72
- {
73
- id: '8',
74
- name: '深圳市福德宝网络技术YX公司',
75
- city: '厦门',
76
- employees: 540,
77
- createdDate: '2016-06-03 13:53:25'
78
- }
79
- ]
80
- }
81
- },
82
- methods: {
83
- footerMethod({ columns, data }) {
84
- return [
85
- columns.map((column, columnIndex) => {
86
- if (columnIndex === 0) {
87
- return '平均'
88
- }
89
-
90
- if (column.property === 'employees') {
91
- return Math.floor(data.map((item) => item[column.property]).reduce((acc, item) => acc + item) / data.length)
92
- }
93
-
94
- return null
95
- }),
96
- columns.map((column, columnIndex) => {
97
- if (columnIndex === 0) {
98
- return '和值'
99
- }
100
-
101
- if (column.property === 'employees') {
102
- return data.map((item) => item[column.property]).reduce((acc, item) => acc + item)
103
- }
104
-
105
- return null
106
- })
107
- ]
108
- }
109
- }
110
- }
111
- </script>