@truenewx/tnxvue3 3.0.0-alpha.18 → 3.0.0-alpha.20

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truenewx/tnxvue3",
3
- "version": "3.0.0-alpha.18",
3
+ "version": "3.0.0-alpha.20",
4
4
  "description": "互联网技术解决方案:Vue3扩展支持",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -20,11 +20,11 @@
20
20
  },
21
21
  "peerDependencies": {
22
22
  "element-plus": "~2.8.0",
23
- "vue": "~3.4.0",
23
+ "vue": "~3.5.0",
24
24
  "vue-router": "~4.4.0"
25
25
  },
26
26
  "dependencies": {
27
- "@truenewx/tnxcore": "3.0.0-alpha.9",
27
+ "@truenewx/tnxcore": "3.0.0-alpha.10",
28
28
  "@element-plus/icons-vue": "2.3.1",
29
29
  "async-validator": "4.2.5",
30
30
  "mitt": "3.0.1"
@@ -258,7 +258,7 @@ export default {
258
258
  }
259
259
 
260
260
  .tnxel-dialog .tnxel-dialog-footer {
261
- padding: 0 1rem 1rem 1rem;
261
+ padding: 1rem;
262
262
  display: flex;
263
263
  justify-content: flex-end;
264
264
  }
@@ -28,6 +28,8 @@
28
28
  <HomeFilled v-else-if="value === 'HomeFilled'"/>
29
29
  <InfoFilled v-else-if="value === 'InfoFilled'"/>
30
30
  <List v-else-if="value === 'List'"/>
31
+ <Memo v-else-if="value === 'Memo'"/>
32
+ <Minus v-else-if="value === 'Minus'"/>
31
33
  <MoreFilled v-else-if="value === 'MoreFilled'"/>
32
34
  <OfficeBuilding v-else-if="value === 'OfficeBuilding'"/>
33
35
  <Picture v-else-if="value === 'Picture'"/>
@@ -42,6 +44,7 @@
42
44
  <Right v-else-if="value === 'Right'"/>
43
45
  <Search v-else-if="value === 'Search'"/>
44
46
  <Select v-else-if="value === 'Select'"/>
47
+ <SemiSelect v-else-if="value === 'SemiSelect'"/>
45
48
  <Setting v-else-if="value === 'Setting'"/>
46
49
  <Sort v-else-if="value === 'Sort'"/>
47
50
  <SuccessFilled v-else-if="value === 'SuccessFilled'"/>
@@ -84,6 +87,8 @@ import {
84
87
  InfoFilled,
85
88
  List,
86
89
  Loading,
90
+ Memo,
91
+ Minus,
87
92
  MoreFilled,
88
93
  OfficeBuilding,
89
94
  Picture,
@@ -98,6 +103,7 @@ import {
98
103
  Right,
99
104
  Search,
100
105
  Select,
106
+ SemiSelect,
101
107
  Setting,
102
108
  Sort,
103
109
  SuccessFilled,
@@ -137,6 +143,8 @@ const components = {
137
143
  HomeFilled,
138
144
  InfoFilled,
139
145
  List,
146
+ Memo,
147
+ Minus,
140
148
  MoreFilled,
141
149
  Loading,
142
150
  OfficeBuilding,
@@ -152,6 +160,7 @@ const components = {
152
160
  Right,
153
161
  Search,
154
162
  Select,
163
+ SemiSelect,
155
164
  Setting,
156
165
  Sort,
157
166
  SuccessFilled,
@@ -2,7 +2,7 @@
2
2
  <el-checkbox-group class="tnxel-select tnxel-checkbox-group" v-model="model" :theme="theme" :size="size"
3
3
  :disabled="disabled" :key="groupKey" v-if="selector === 'checkbox'">
4
4
  <template v-if="items">
5
- <el-checkbox v-for="item in items" :key="item[valueName]" :label="item[valueName]"
5
+ <el-checkbox v-for="item in items" :key="item[valueName]" :value="item[valueName]"
6
6
  :data-value="item[valueName]"
7
7
  :disabled="item.disabled === true || typeof item.disabled === 'string'"
8
8
  :title="typeof item.disabled === 'string' ? item.disabled : item.title">
@@ -68,8 +68,8 @@
68
68
  </div>
69
69
  <el-radio-group class="tnxel-select tnxel-radio-group ignore-feedback" v-model="model" :theme="theme" :size="size"
70
70
  :disabled="disabled" :key="groupKey" v-else-if="selector === 'radio'">
71
- <el-radio :label="emptyValue" :class="emptyClass" :border="border" v-if="empty">{{ emptyText }}</el-radio>
72
- <el-radio v-for="item in items" :key="item[valueName]" :label="item[valueName]" :data-value="item[valueName]"
71
+ <el-radio :value="emptyValue" :class="emptyClass" :border="border" v-if="empty">{{ emptyText }}</el-radio>
72
+ <el-radio v-for="item in items" :key="item[valueName]" :value="item[valueName]" :data-value="item[valueName]"
73
73
  :disabled="item.disabled === true || typeof item.disabled === 'string'"
74
74
  :title="typeof item.disabled === 'string' ? item.disabled : item.title"
75
75
  :border="border">
@@ -82,8 +82,8 @@
82
82
  </el-radio-group>
83
83
  <el-radio-group class="tnxel-select tnxel-radio-group ignore-feedback" v-model="model" :theme="theme" :size="size"
84
84
  :disabled="disabled" :key="groupKey" v-else-if="selector === 'radio-button'">
85
- <el-radio-button :class="emptyClass" :label="emptyValue" v-if="empty">{{ emptyText }}</el-radio-button>
86
- <el-radio-button v-for="item in items" :key="item[valueName]" :label="item[valueName]"
85
+ <el-radio-button :class="emptyClass" :value="emptyValue" v-if="empty">{{ emptyText }}</el-radio-button>
86
+ <el-radio-button v-for="item in items" :key="item[valueName]" :value="item[valueName]"
87
87
  :data-value="item[valueName]"
88
88
  :disabled="item.disabled === true || typeof item.disabled === 'string'"
89
89
  :title="typeof item.disabled === 'string' ? item.disabled : item.title">
@@ -138,14 +138,16 @@
138
138
  <el-select class="tnxel-select ignore-feedback" v-model="model" :placeholder="placeholder" :theme="theme"
139
139
  :size="size" :disabled="disabled" :filterable="filterable" :filter-method="filter"
140
140
  :multiple="selector === 'multi-select'" :key="groupKey" v-else>
141
- <el-option class="text-secondary" :value="emptyValue" :label="emptyText" :class="emptyClass" v-if="empty"/>
141
+ <el-option class="text-secondary" :value="emptyValue" :class="emptyClass" v-if="empty">
142
+ {{ emptyText }}
143
+ </el-option>
142
144
  <template v-for="item in items">
143
- <el-option :key="item[valueName]" :value="item[valueName]" :label="item[textName]"
144
- :data-value="item[valueName]"
145
+ <el-option :key="item[valueName]" :value="item[valueName]" :data-value="item[valueName]"
145
146
  :disabled="item.disabled === true || typeof item.disabled === 'string'"
146
147
  :title="typeof item.disabled === 'string' ? item.disabled : item.title"
147
148
  v-if="!hiddenValues.contains(item[valueName])">
148
- <slot name="option" :item="item"></slot>
149
+ <slot name="option" :item="item" v-if="$slots.option"></slot>
150
+ <span v-else>item[textName]</span>
149
151
  </el-option>
150
152
  </template>
151
153
  </el-select>
@@ -196,7 +198,7 @@ export default {
196
198
  },
197
199
  emptyValue: {
198
200
  type: [String, Number, Boolean, Array],
199
- default: null,
201
+ default: '', // 设为null会告警,暂时先设为空字符,在非字符串类型的情况下是否有问题,有待检验
200
202
  },
201
203
  emptyClass: String,
202
204
  placeholder: String,
@@ -275,14 +275,6 @@
275
275
  width: calc(100vw); /* 尽可能撑开,以与高度保持一致 */
276
276
  }
277
277
 
278
- .el-alert {
279
- margin-bottom: 1rem;
280
- }
281
-
282
- .el-alert.w-100 .el-alert__content {
283
- width: 100%;
284
- }
285
-
286
278
  .el-form-item {
287
279
  margin-bottom: 1rem;
288
280
  }
@@ -300,12 +292,6 @@
300
292
  padding-right: 1rem;
301
293
  }
302
294
 
303
- .el-form--label-right .el-form-item__label:before {
304
- content: '*';
305
- color: transparent;
306
- margin-right: 4px;
307
- }
308
-
309
295
  .el-form--label-top .el-form-item__label {
310
296
  padding-bottom: 0;
311
297
  margin-bottom: 0.25rem;
@@ -638,8 +624,11 @@ el-card {
638
624
  }
639
625
 
640
626
  .el-alert {
641
- --el-alert-padding: 0.75rem 1rem;
642
- --el-alert-title-font-size: 14px;
627
+ margin-bottom: 1rem;
628
+ }
629
+
630
+ .el-alert.w-100 .el-alert__content {
631
+ width: 100%;
643
632
  }
644
633
 
645
634
  .el-alert .el-alert__icon {