xt-element-ui 1.1.0 → 1.1.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/lib/css/2.3f7aa432.css +1 -0
- package/lib/css/3.ffcc175d.css +1 -0
- package/lib/css/4.9abd1f2b.css +1 -0
- package/lib/css/5.1a31ed8a.css +1 -0
- package/lib/css/6.c2d0d77e.css +1 -0
- package/lib/index.common.0.js +120208 -0
- package/lib/index.common.2.js +1053 -0
- package/lib/index.common.3.js +996 -0
- package/lib/index.common.4.js +1108 -0
- package/lib/index.common.5.js +1009 -0
- package/lib/index.common.6.js +973 -0
- package/lib/index.common.js +8003 -211
- package/lib/index.css +1 -1
- package/lib/index.umd.0.js +120208 -0
- package/lib/index.umd.2.js +1053 -0
- package/lib/index.umd.3.js +996 -0
- package/lib/index.umd.4.js +1108 -0
- package/lib/index.umd.5.js +1009 -0
- package/lib/index.umd.6.js +973 -0
- package/lib/index.umd.js +8003 -211
- package/lib/index.umd.min.0.js +34 -0
- package/lib/index.umd.min.2.js +1 -0
- package/lib/index.umd.min.3.js +1 -0
- package/lib/index.umd.min.4.js +1 -0
- package/lib/index.umd.min.5.js +1 -0
- package/lib/index.umd.min.6.js +1 -0
- package/lib/index.umd.min.js +1 -1
- package/package.json +7 -3
- package/src/components/button/index.vue +5 -5
- package/src/components/button/style/index.scss +743 -90
- package/src/components/chart/ExBar.vue +203 -0
- package/src/components/chart/ExLine.vue +146 -0
- package/src/components/chart/ExMulti.vue +257 -0
- package/src/components/chart/ExPie.vue +159 -0
- package/src/components/chart/ExTrend.vue +121 -0
- package/src/components/chart/index.js +2 -0
- package/src/components/chart/index.vue +51 -0
- package/src/components/chart/pieList.vue +110 -0
- package/src/components/chart/theme/blue.js +91 -0
- package/src/components/chart/theme/dark.js +91 -0
- package/src/components/chart/theme/orange.js +92 -0
- package/src/components/chart/theme/starry.js +106 -0
- package/src/components/chart/theme/white.js +110 -0
- package/src/components/chart/utils.js +273 -0
- package/src/components/config-provider/index.vue +150 -51
- package/src/components/config-provider/style/index.scss +2 -2
- package/src/components/date-picker/SearchDate.vue +45 -0
- package/src/components/date-picker/index.js +2 -0
- package/src/components/date-picker/index.vue +131 -0
- package/src/components/date-picker/quarter.vue +152 -0
- package/src/components/grid-box/index.js +2 -0
- package/src/components/grid-box/index.vue +42 -0
- package/src/components/layout/BaseCollapse.vue +48 -0
- package/src/components/layout/ExFieldset.vue +204 -0
- package/src/components/page/index.js +0 -0
- package/src/components/page/index.vue +109 -0
- package/src/components/select-tree/index.js +0 -0
- package/src/components/select-tree/index.vue +386 -0
- package/src/components/table/ExCell.vue +27 -0
- package/src/components/table/ExColumn.vue +36 -0
- package/src/components/table/index.js +2 -0
- package/src/components/table/index.vue +731 -0
- package/src/components/table/processor.js +380 -0
- package/src/components/text/index.vue +79 -2
- package/src/components/text/style/index.scss +28 -6
- package/src/components/upload/index.js +2 -0
- package/src/components/upload/index.vue +225 -0
- package/src/components/upload/preview.vue +333 -0
- package/src/index.js +11 -2
- package/src/styles/css-variables.scss +238 -148
- package/src/styles/theme/background.scss +1 -1
- package/src/styles/theme/colors.scss +90 -1
- package/src/styles/variables.scss +1 -1
- package/src/components/button/style/index copy.scss +0 -221
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="el-select select-tree">
|
|
3
|
+
<el-popover ref="elPopover" v-model="visible" transition="el-zoom-in-top" popper-class="select-tree__popover" trigger="click" :disabled="disabled" :placement="placement" :width="popoverWidth" @after-enter="handleScroll" @show="handleFocus" @hide="handleBlur">
|
|
4
|
+
<el-scrollbar ref="scrollbar" wrap-class="el-select-dropdown__wrap" view-class="el-select-dropdown__list">
|
|
5
|
+
<el-tree
|
|
6
|
+
ref="elTree"
|
|
7
|
+
class="select-tree__list"
|
|
8
|
+
:default-expand-keys="defaultExpandKeys"
|
|
9
|
+
:show-checkbox="multiple"
|
|
10
|
+
:expand-on-click-node="multiple"
|
|
11
|
+
:style="{minWidth: minWidth + 'px'}"
|
|
12
|
+
:data="data"
|
|
13
|
+
:props="props"
|
|
14
|
+
:node-key="propsValue"
|
|
15
|
+
:default-expand-all="defaultExpandAll"
|
|
16
|
+
:check-strictly="checkStrictly"
|
|
17
|
+
:lazy="lazy"
|
|
18
|
+
:load="load"
|
|
19
|
+
:icon-class="iconClass"
|
|
20
|
+
:highlight-current="highlightCurrent"
|
|
21
|
+
:indent="indent"
|
|
22
|
+
:accordion="accordion"
|
|
23
|
+
:filter-node-method="filterNodeMethod"
|
|
24
|
+
:auto-expand-parent="autoExpandParent"
|
|
25
|
+
:render-content="renderContent"
|
|
26
|
+
:render-after-expand="renderAfterExpand"
|
|
27
|
+
@check-change="checkChange"
|
|
28
|
+
@node-click="nodeClick"
|
|
29
|
+
@transitionend.native="$refs.elPopover.updatePopper()"
|
|
30
|
+
>
|
|
31
|
+
<div slot-scope="{data}" class="select-tree__item" :class="treeItemClass(data)">
|
|
32
|
+
{{ data[propsLabel] }}
|
|
33
|
+
</div>
|
|
34
|
+
</el-tree>
|
|
35
|
+
</el-scrollbar>
|
|
36
|
+
<el-input
|
|
37
|
+
ref="reference"
|
|
38
|
+
slot="reference"
|
|
39
|
+
v-model="selectedLabel"
|
|
40
|
+
:clearable="clearable"
|
|
41
|
+
:readonly="!filterable"
|
|
42
|
+
:validate-event="false"
|
|
43
|
+
:size="size"
|
|
44
|
+
:class="{'is-active': visible, 'is-selected': selectedLabel}"
|
|
45
|
+
:disabled="disabled"
|
|
46
|
+
:placeholder="query || placeholder"
|
|
47
|
+
@input="getTreeFilter"
|
|
48
|
+
@clear="clear"
|
|
49
|
+
>
|
|
50
|
+
<i slot="suffix" class="el-input__icon el-input__icon-arrow-down el-icon-arrow-down"></i>
|
|
51
|
+
</el-input>
|
|
52
|
+
</el-popover>
|
|
53
|
+
</div>
|
|
54
|
+
</template>
|
|
55
|
+
<script>
|
|
56
|
+
import Emitter from "element-ui/lib/mixins/emitter";
|
|
57
|
+
import { addResizeListener, removeResizeListener } from "element-ui/lib/utils/resize-event";
|
|
58
|
+
export default {
|
|
59
|
+
name: "XtSelectTree",
|
|
60
|
+
mixins: [Emitter],
|
|
61
|
+
inheritAttrs: false,
|
|
62
|
+
model: {
|
|
63
|
+
prop: "value",
|
|
64
|
+
event: "change"
|
|
65
|
+
},
|
|
66
|
+
props: {
|
|
67
|
+
data: {
|
|
68
|
+
type: Array,
|
|
69
|
+
default() {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
props: {
|
|
74
|
+
type: Object,
|
|
75
|
+
default: () => {
|
|
76
|
+
return {
|
|
77
|
+
value: "value",
|
|
78
|
+
label: "label",
|
|
79
|
+
children: "children",
|
|
80
|
+
disabled: "disabled",
|
|
81
|
+
isLeaf: "isLeaf"
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
checkStrictly: Boolean,
|
|
86
|
+
nodeKey: String,
|
|
87
|
+
defaultExpandAll: Boolean,
|
|
88
|
+
lazy: Boolean,
|
|
89
|
+
load: Function,
|
|
90
|
+
iconClass: String,
|
|
91
|
+
indent: Number,
|
|
92
|
+
accordion: Boolean,
|
|
93
|
+
filterNodeMethod: {
|
|
94
|
+
type: Function,
|
|
95
|
+
default(v, data, node) {
|
|
96
|
+
if (!v) return true;
|
|
97
|
+
return node.label.indexOf(v) !== -1;
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
autoExpandParent: {
|
|
101
|
+
type: Boolean,
|
|
102
|
+
default: true
|
|
103
|
+
},
|
|
104
|
+
renderContent: Function,
|
|
105
|
+
renderAfterExpand: Boolean,
|
|
106
|
+
clearable: Boolean,
|
|
107
|
+
placeholder: {
|
|
108
|
+
type: String,
|
|
109
|
+
default: "请选择"
|
|
110
|
+
},
|
|
111
|
+
placement: {
|
|
112
|
+
type: String,
|
|
113
|
+
default: "bottom-start"
|
|
114
|
+
},
|
|
115
|
+
size: {
|
|
116
|
+
type: String,
|
|
117
|
+
default: ""
|
|
118
|
+
},
|
|
119
|
+
disabled: Boolean,
|
|
120
|
+
highlightCurrent: {
|
|
121
|
+
default: true,
|
|
122
|
+
type: Boolean
|
|
123
|
+
},
|
|
124
|
+
filterable: {
|
|
125
|
+
type: Boolean,
|
|
126
|
+
default: true
|
|
127
|
+
},
|
|
128
|
+
multiple: Boolean,
|
|
129
|
+
value: {
|
|
130
|
+
type: [Number, String, Array],
|
|
131
|
+
default: ""
|
|
132
|
+
},
|
|
133
|
+
defaultValue: {
|
|
134
|
+
type: [Number, String, Array],
|
|
135
|
+
default: ""
|
|
136
|
+
},
|
|
137
|
+
nodeAbleClick: {
|
|
138
|
+
type: Function,
|
|
139
|
+
default() {
|
|
140
|
+
return (node, data) => true;
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
popoverWidth: Number,
|
|
144
|
+
checkLeafOnly: {
|
|
145
|
+
default: false,
|
|
146
|
+
type: Boolean
|
|
147
|
+
},
|
|
148
|
+
includeHalfChecked: {
|
|
149
|
+
default: false,
|
|
150
|
+
type: Boolean
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
data() {
|
|
154
|
+
return {
|
|
155
|
+
timer: null,
|
|
156
|
+
selectedLabel: "",
|
|
157
|
+
minWidth: 0,
|
|
158
|
+
visible: false,
|
|
159
|
+
query: ""
|
|
160
|
+
};
|
|
161
|
+
},
|
|
162
|
+
computed: {
|
|
163
|
+
triggerEventImmediate() {
|
|
164
|
+
return this.defaultValue == this.value;
|
|
165
|
+
},
|
|
166
|
+
propsValue() {
|
|
167
|
+
return this.nodeKey || this.props.value || "value";
|
|
168
|
+
},
|
|
169
|
+
propsLabel() {
|
|
170
|
+
return this.props.label || "label";
|
|
171
|
+
},
|
|
172
|
+
propsIsLeaf() {
|
|
173
|
+
return this.props.isLeaf || "isLeaf";
|
|
174
|
+
},
|
|
175
|
+
defaultExpandKeys() {
|
|
176
|
+
return Array.isArray(this.value) ? this.value : (this.value || this.value === 0) ? [this.value] : [];
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
watch: {
|
|
180
|
+
value: {
|
|
181
|
+
handler() {
|
|
182
|
+
this.setSelected(this.triggerEventImmediate);
|
|
183
|
+
this.dispatch("ElFormItem", "el.form.change");
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
data() {
|
|
187
|
+
this.setSelected();
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
created() {
|
|
191
|
+
if (this.multiple && !Array.isArray(this.value)) {
|
|
192
|
+
throw new Error("[select-tree] props value must be array if use multiple");
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
mounted() {
|
|
196
|
+
this.$nextTick(() => {
|
|
197
|
+
this.setSelected();
|
|
198
|
+
});
|
|
199
|
+
addResizeListener(this.$el, this.handleResize);
|
|
200
|
+
},
|
|
201
|
+
beforeDestroy() {
|
|
202
|
+
if (this.$el && this.handleResize) {
|
|
203
|
+
removeResizeListener(this.$el, this.handleResize);
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
methods: {
|
|
207
|
+
getTreeFilter(v) {
|
|
208
|
+
this.$refs.elTree && this.$refs.elTree.filter(v);
|
|
209
|
+
},
|
|
210
|
+
handleFocus() {
|
|
211
|
+
if (this.filterable) {
|
|
212
|
+
this.$refs.elTree.filter("");
|
|
213
|
+
this.query = this.selectedLabel;
|
|
214
|
+
this.selectedLabel = "";
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
handleBlur() {
|
|
218
|
+
if (this.filterable) {
|
|
219
|
+
this.selectedLabel = this.query;
|
|
220
|
+
this.$refs.reference.blur();
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
valueChange(value, node) {
|
|
224
|
+
this.$emit("change", value, node);
|
|
225
|
+
},
|
|
226
|
+
clear() {
|
|
227
|
+
this.visible = false;
|
|
228
|
+
if (this.multiple) {
|
|
229
|
+
this.valueChange([]);
|
|
230
|
+
this.$nextTick(() => {
|
|
231
|
+
this.$refs.elTree.setCheckedKeys([]);
|
|
232
|
+
});
|
|
233
|
+
} else {
|
|
234
|
+
this.valueChange("");
|
|
235
|
+
}
|
|
236
|
+
this.$emit("clear");
|
|
237
|
+
},
|
|
238
|
+
handleScroll() {
|
|
239
|
+
this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();
|
|
240
|
+
},
|
|
241
|
+
nodeClick(data, node, component) {
|
|
242
|
+
// const children = data[this.props.children];
|
|
243
|
+
const value = data[this.propsValue];
|
|
244
|
+
if (this.nodeAbleClick(data, node)) {
|
|
245
|
+
this.valueChange(value, data);
|
|
246
|
+
this.selectedLabel = data[this.propsLabel];
|
|
247
|
+
if (!this.multiple && !data.disabled) {
|
|
248
|
+
this.visible = false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// if (((children && children.length) || (this.lazy && !data[this.propsIsLeaf])) && !this.checkStrictly) {
|
|
252
|
+
// component.handleExpandIconClick();
|
|
253
|
+
// } else if (!this.multiple && !data.disabled) {
|
|
254
|
+
// this.valueChange(value, data);
|
|
255
|
+
// this.selectedLabel = data[this.propsLabel];
|
|
256
|
+
// this.visible = false;
|
|
257
|
+
// }
|
|
258
|
+
},
|
|
259
|
+
checkChange(data, checked, inderterminate) {
|
|
260
|
+
if (this.timer) clearTimeout(this.timer);
|
|
261
|
+
this.timer = setTimeout(() => {
|
|
262
|
+
const elTree = this.$refs.elTree;
|
|
263
|
+
const leafOnly = this.checkLeafOnly;
|
|
264
|
+
const includeHalfChecked = this.includeHalfChecked;
|
|
265
|
+
const nodes = elTree.getCheckedNodes(leafOnly, includeHalfChecked);
|
|
266
|
+
const keys = elTree.getCheckedKeys(leafOnly);
|
|
267
|
+
this.valueChange(keys, nodes);
|
|
268
|
+
this.setMultipleSelectedLabel();
|
|
269
|
+
}, 50);
|
|
270
|
+
},
|
|
271
|
+
setSelected(triggerEvent) {
|
|
272
|
+
this.$nextTick(() => {
|
|
273
|
+
const elTree = this.$refs.elTree;
|
|
274
|
+
if (this.multiple) {
|
|
275
|
+
elTree.setCheckedKeys(this.value);
|
|
276
|
+
this.setMultipleSelectedLabel();
|
|
277
|
+
triggerEvent && this.checkChange();
|
|
278
|
+
} else {
|
|
279
|
+
if (this.value) {
|
|
280
|
+
const selectedNode = elTree.getNode(this.value);
|
|
281
|
+
elTree.setCurrentKey(this.value);
|
|
282
|
+
if (selectedNode && selectedNode.visible && !this.lazy) {
|
|
283
|
+
if (!selectedNode.isLeaf) {
|
|
284
|
+
selectedNode.expand();
|
|
285
|
+
} else {
|
|
286
|
+
selectedNode.parent.expand();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
this.selectedLabel = selectedNode ? selectedNode.data[this.propsLabel] : "";
|
|
290
|
+
triggerEvent && this.valueChange(this.value, selectedNode);
|
|
291
|
+
} else {
|
|
292
|
+
elTree.setCurrentKey("");
|
|
293
|
+
this.selectedLabel = "";
|
|
294
|
+
triggerEvent && this.valueChange("");
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
},
|
|
299
|
+
setMultipleSelectedLabel() {
|
|
300
|
+
const elTree = this.$refs.elTree;
|
|
301
|
+
const selectedNodes = elTree.getCheckedNodes(!this.checkStrictly);
|
|
302
|
+
this.selectedLabel = selectedNodes.map((item) => item[this.propsLabel]).join(",");
|
|
303
|
+
},
|
|
304
|
+
treeItemClass(data) {
|
|
305
|
+
return {
|
|
306
|
+
"is-selected": this.multiple ? false : data[this.propsValue] === this.value, "is-disabled": data.disabled
|
|
307
|
+
};
|
|
308
|
+
},
|
|
309
|
+
handleResize() {
|
|
310
|
+
this.minWidth = this.$el.clientWidth - 2;
|
|
311
|
+
},
|
|
312
|
+
getNodeById(id) {
|
|
313
|
+
return this.$refs.elTree.getNode(id);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
</script>
|
|
318
|
+
<style scoped lang="scss">
|
|
319
|
+
.select-tree{
|
|
320
|
+
display: inline-block;
|
|
321
|
+
.el-input__icon{
|
|
322
|
+
cursor: pointer;
|
|
323
|
+
transition: transform 0.3s;
|
|
324
|
+
&-close{
|
|
325
|
+
display: none;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
.el-input__inner{
|
|
329
|
+
cursor: pointer;
|
|
330
|
+
padding-right: 30px;
|
|
331
|
+
}
|
|
332
|
+
.el-input{
|
|
333
|
+
&:hover:not(.is-disabled) {
|
|
334
|
+
.el-input__inner{
|
|
335
|
+
@include border_color("borderColor");
|
|
336
|
+
}
|
|
337
|
+
&.is-selected.isclearable{
|
|
338
|
+
.el-input__icon{
|
|
339
|
+
&.close{
|
|
340
|
+
display: inline-block;
|
|
341
|
+
}
|
|
342
|
+
&.arrow-down{
|
|
343
|
+
display: none;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
&.is-active{
|
|
349
|
+
.el-input__icon-arrow-down{
|
|
350
|
+
transition: rotate(-180deg);
|
|
351
|
+
}
|
|
352
|
+
.el-input__inner{
|
|
353
|
+
@include border_color("$subMenuActiveText");
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
</style>
|
|
359
|
+
<style lang="scss">
|
|
360
|
+
.select-tree{
|
|
361
|
+
display: inline-block;
|
|
362
|
+
&__popover{
|
|
363
|
+
padding: 0 !important;
|
|
364
|
+
.popper__arrow{
|
|
365
|
+
left: 35px !important;
|
|
366
|
+
}
|
|
367
|
+
.el-tree-node__expand-icon.is-leaf{
|
|
368
|
+
cursor: pointer;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
&__list{
|
|
372
|
+
&::-webkit-scrollbar{
|
|
373
|
+
width: 4px;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
.el-tree-node__content{
|
|
378
|
+
height: 34px;
|
|
379
|
+
line-height: 34px;
|
|
380
|
+
}
|
|
381
|
+
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{
|
|
382
|
+
color: #409EFF;
|
|
383
|
+
@include font_color("primaryColor");
|
|
384
|
+
font-weight: bold;
|
|
385
|
+
}
|
|
386
|
+
</style>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export default {
|
|
3
|
+
name: "ExCell",
|
|
4
|
+
functional: true,
|
|
5
|
+
props: {
|
|
6
|
+
row: Object,
|
|
7
|
+
index: Number,
|
|
8
|
+
formatter: Function,
|
|
9
|
+
column: {
|
|
10
|
+
type: Object,
|
|
11
|
+
default: null
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
render: (h, ctx) => {
|
|
15
|
+
const params = {
|
|
16
|
+
row: ctx.props.row,
|
|
17
|
+
index: ctx.props.index
|
|
18
|
+
};
|
|
19
|
+
debugger
|
|
20
|
+
if (ctx.props.column) params.column = ctx.props.column;
|
|
21
|
+
const isVnode = (it) => typeof it === "object" && it.hasOwnProperty("componentOptions");
|
|
22
|
+
const renderNode = ctx.props.formatter(h, params);
|
|
23
|
+
// 非Vnode 字符处理
|
|
24
|
+
return isVnode(renderNode) ? renderNode : h("span", renderNode);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
</script>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-table-column v-bind="setAttrs(column)">
|
|
3
|
+
<template slot="header" slot-scope="scope">
|
|
4
|
+
<slot :name="column.slotHeader || 'header'" :column="scope.column">
|
|
5
|
+
<span> {{ scope.column.label }}</span>
|
|
6
|
+
</slot>
|
|
7
|
+
</template>
|
|
8
|
+
<ExColumn v-for="(child, index) in column.children" :key="index" :column="child" />
|
|
9
|
+
</el-table-column>
|
|
10
|
+
</template>
|
|
11
|
+
<script>
|
|
12
|
+
export default {
|
|
13
|
+
name: "ExColumn",
|
|
14
|
+
props: {
|
|
15
|
+
column: {
|
|
16
|
+
type: Object,
|
|
17
|
+
default: () => {
|
|
18
|
+
return undefined;
|
|
19
|
+
},
|
|
20
|
+
required: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
methods: {
|
|
24
|
+
setAttrs(params) {
|
|
25
|
+
const { ...options } = params;
|
|
26
|
+
if (!options.align) {
|
|
27
|
+
options.align = "center";
|
|
28
|
+
}
|
|
29
|
+
if (options.showTip) {
|
|
30
|
+
options.showOverflowTooltip = true;
|
|
31
|
+
}
|
|
32
|
+
return { ...options };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
</script>
|