eoss-ui 0.6.20 → 0.6.21

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 (100) hide show
  1. package/lib/eoss-ui.common.js +362 -355
  2. package/lib/flow.js +118 -118
  3. package/lib/form.js +3 -3
  4. package/lib/index.js +1 -1
  5. package/lib/login.js +2 -3
  6. package/lib/main.js +210 -202
  7. package/lib/qr-code.js +13 -13
  8. package/lib/theme-chalk/index.css +1 -1
  9. package/lib/theme-chalk/login.css +1 -1
  10. package/lib/theme-chalk/selector.css +1 -1
  11. package/package.json +157 -157
  12. package/packages/.DS_Store +0 -0
  13. package/packages/button/src/main.vue +418 -418
  14. package/packages/button-group/src/main.vue +298 -298
  15. package/packages/checkbox-group/.DS_Store +0 -0
  16. package/packages/checkbox-group/src/main.vue +333 -333
  17. package/packages/clients/src/main.vue +144 -144
  18. package/packages/data-table/.DS_Store +0 -0
  19. package/packages/data-table/src/children.vue +39 -39
  20. package/packages/data-table/src/column.vue +983 -983
  21. package/packages/data-table/src/main.vue +1812 -1812
  22. package/packages/data-table/src/sizer.vue +195 -195
  23. package/packages/date-picker/src/main.vue +236 -236
  24. package/packages/dialog/.DS_Store +0 -0
  25. package/packages/flow/src/main.vue +2731 -2731
  26. package/packages/flow-group/src/main.vue +684 -684
  27. package/packages/form/src/main.vue +3582 -3582
  28. package/packages/form/src/table.vue +1420 -1420
  29. package/packages/handle-user/src/main.vue +134 -134
  30. package/packages/handler/.DS_Store +0 -0
  31. package/packages/handler/src/main.vue +374 -374
  32. package/packages/icon/src/main.vue +101 -101
  33. package/packages/input/src/main.vue +356 -356
  34. package/packages/login/.DS_Store +0 -0
  35. package/packages/login/src/main.vue +1850 -1851
  36. package/packages/login/src/resetPassword.vue +557 -557
  37. package/packages/main/.DS_Store +0 -0
  38. package/packages/main/src/.DS_Store +0 -0
  39. package/packages/main/src/default/message.vue +249 -249
  40. package/packages/main/src/default/notice.vue +157 -157
  41. package/packages/main/src/default/userinfo.vue +494 -494
  42. package/packages/main/src/main.vue +65 -57
  43. package/packages/main/src/public/online.vue +89 -89
  44. package/packages/main/src/public/search.vue +454 -454
  45. package/packages/main/src/public/settings.vue +221 -221
  46. package/packages/main/src/simplicity/apps.vue +388 -388
  47. package/packages/main/src/simplicity/avatar.vue +82 -82
  48. package/packages/main/src/simplicity/handler.vue +183 -183
  49. package/packages/main/src/simplicity/index.vue +1931 -1930
  50. package/packages/main/src/simplicity/lists.vue +84 -84
  51. package/packages/main/src/simplicity/menu-list.vue +128 -128
  52. package/packages/main/src/simplicity/message.vue +259 -259
  53. package/packages/main/src/simplicity/notice.vue +190 -190
  54. package/packages/main/src/simplicity/router-page.vue +45 -45
  55. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  56. package/packages/main/src/simplicity/user.vue +248 -248
  57. package/packages/main/src/simplicity/userinfo.vue +304 -304
  58. package/packages/menu/src/main.vue +536 -536
  59. package/packages/pagination/src/main.vue +96 -96
  60. package/packages/qr-code/src/main.vue +170 -170
  61. package/packages/radio-group/src/main.vue +319 -319
  62. package/packages/select/src/main.vue +761 -761
  63. package/packages/selector/src/main.vue +677 -677
  64. package/packages/selector-panel/src/main.vue +1020 -1020
  65. package/packages/selector-panel/src/selection.vue +160 -160
  66. package/packages/tabs/src/main.vue +788 -788
  67. package/packages/theme-chalk/lib/index.css +1 -1
  68. package/packages/theme-chalk/lib/login.css +1 -1
  69. package/packages/theme-chalk/lib/selector.css +1 -1
  70. package/packages/theme-chalk/src/.DS_Store +0 -0
  71. package/packages/theme-chalk/src/base.scss +260 -260
  72. package/packages/theme-chalk/src/button-group.scss +175 -175
  73. package/packages/theme-chalk/src/calendar.scss +113 -113
  74. package/packages/theme-chalk/src/clients.scss +87 -87
  75. package/packages/theme-chalk/src/common/var.scss +4 -1
  76. package/packages/theme-chalk/src/data-table.scss +276 -276
  77. package/packages/theme-chalk/src/dialog.scss +77 -77
  78. package/packages/theme-chalk/src/flow-group.scss +110 -110
  79. package/packages/theme-chalk/src/form.scss +496 -496
  80. package/packages/theme-chalk/src/handler.scss +133 -133
  81. package/packages/theme-chalk/src/icon.scss +1745 -1745
  82. package/packages/theme-chalk/src/icons.scss +99 -99
  83. package/packages/theme-chalk/src/login.scss +926 -917
  84. package/packages/theme-chalk/src/main.scss +632 -632
  85. package/packages/theme-chalk/src/menu.scss +222 -222
  86. package/packages/theme-chalk/src/nav.scss +125 -125
  87. package/packages/theme-chalk/src/pagination.scss +29 -29
  88. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  89. package/packages/theme-chalk/src/selector.scss +1 -1
  90. package/packages/theme-chalk/src/simplicity.scss +1246 -1246
  91. package/packages/theme-chalk/src/tabs.scss +87 -87
  92. package/packages/theme-chalk/src/toolbar.scss +179 -179
  93. package/packages/theme-chalk/src/tree-group.scss +72 -72
  94. package/packages/theme-chalk/src/tree.scss +165 -165
  95. package/packages/upload/src/main.vue +1313 -1313
  96. package/packages/wujie/src/main.vue +145 -145
  97. package/src/.DS_Store +0 -0
  98. package/src/config/api.js +236 -236
  99. package/src/config/image.js +2 -2
  100. package/src/index.js +157 -157
@@ -1,356 +1,356 @@
1
- <script>
2
- import { debounce } from 'throttle-debounce';
3
- import util from 'eoss-ui/src/utils/util';
4
- import rules from 'eoss-ui/src/utils/rules.js';
5
- export default {
6
- name: 'EsInput',
7
- componentName: 'EsInput',
8
- inheritAttrs: false,
9
- props: {
10
- value: [String, Number],
11
- rules: [Object, Array],
12
- method: {
13
- type: String,
14
- default: 'get'
15
- },
16
- data: {
17
- type: Array,
18
- default() {
19
- return [];
20
- }
21
- },
22
- label: [Object, String],
23
- url: {
24
- type: String,
25
- default: ''
26
- },
27
- param: {
28
- type: Object,
29
- default() {
30
- return {};
31
- }
32
- },
33
- fetchSuggestions: Function,
34
- focusShow: {
35
- type: Boolean,
36
- default: false
37
- },
38
- display: {
39
- type: Boolean,
40
- default: true
41
- },
42
- readonly: Boolean,
43
- plain: Boolean,
44
- text: [String, Number],
45
- scope: {},
46
- exclude: Boolean
47
- },
48
- watch: {
49
- data: {
50
- immediate: true,
51
- deep: true,
52
- handler(val) {
53
- this.results = val;
54
- }
55
- }
56
- },
57
- data() {
58
- return {
59
- results: []
60
- };
61
- },
62
- computed: {
63
- showLimit() {
64
- if (this.showWordLimit === false) {
65
- return false;
66
- }
67
- if (this.showWordLimit === true) {
68
- return true;
69
- }
70
- if (this.count) {
71
- return true;
72
- }
73
- return false;
74
- },
75
- maxInput() {
76
- if (typeof this.count === 'number') {
77
- return this.count;
78
- }
79
- return this.maxlength;
80
- },
81
- model: {
82
- get() {
83
- return this.value;
84
- },
85
- set(val) {
86
- return val;
87
- }
88
- },
89
- rule() {
90
- if (this.rules) {
91
- if (Array.isArray(this.rules)) {
92
- return this.rules.map((item) => {
93
- if (rules[item.type]) {
94
- return {
95
- pattern: rules[item.type]['pattern'],
96
- message: item.message
97
- ? item.message
98
- : rules[item.type]['message'],
99
- trigger: item.trigger
100
- ? item.trigger
101
- : this.fetchSuggestions || this.url || this.data.length > 0
102
- ? 'change'
103
- : 'blur'
104
- };
105
- }
106
- return item;
107
- });
108
- }
109
- if (rules[this.rules.type]) {
110
- return {
111
- pattern: rules[this.rules.type]['pattern'],
112
- message: this.rules.message
113
- ? this.rules.message
114
- : rules[this.rules.type]['message'],
115
- trigger: this.rules.trigger
116
- ? this.rules.trigger
117
- : this.fetchSuggestions || this.url || this.data.length > 0
118
- ? 'change'
119
- : 'blur'
120
- };
121
- }
122
- return this.rules;
123
- }
124
- return undefined;
125
- }
126
- },
127
- beforeCreate() {
128
- this.getData = debounce(500, (query, callback, isChange) => {
129
- this.getDatas(query, callback, isChange);
130
- });
131
- },
132
- created() {},
133
- mounted() {},
134
- methods: {
135
- getDatas(query, callback, isChange) {
136
- if (typeof this.url && this.results.length === 0) {
137
- util
138
- .ajax({
139
- method: this.method,
140
- url: this.url,
141
- data: this.param,
142
- params: this.param
143
- })
144
- .then((res) => {
145
- if (res.rCode === 0) {
146
- this.results = JSON.parse(JSON.stringify(res.results));
147
- let results = query
148
- ? this.results.filter(this.searchFilter(query))
149
- : this.results;
150
- callback(results);
151
- }
152
- })
153
- .catch((err) => {
154
- if (err.message && err.message !== 'canceled') {
155
- this.$message.error(err.message);
156
- }
157
- });
158
- } else {
159
- let results = query
160
- ? this.results.filter(this.searchFilter(query, isChange))
161
- : this.results;
162
- callback(results);
163
- }
164
- },
165
- searchFilter(query, isChange) {
166
- return (state) => {
167
- if (isChange) {
168
- return state.value.indexOf(query) > -1;
169
- } else {
170
- if (this.exclude) {
171
- return state.value !== query;
172
- } else {
173
- return state.value === query;
174
- }
175
- }
176
- };
177
- },
178
- renderd(doms, h, type) {
179
- if (typeof this.$attrs[type] === 'boolean') {
180
- if (this.$attrs.render) {
181
- if (typeof this.$attrs.render == 'string') {
182
- try {
183
- doms.push(
184
- h(
185
- 'template',
186
- { slot: type },
187
- util.toFunction(this.$attrs.render)(h, this)
188
- )
189
- );
190
- } catch (error) {
191
- throw error;
192
- }
193
- } else {
194
- doms.push(
195
- h('template', { slot: type }, this.$attrs.render(h, this))
196
- );
197
- }
198
- }
199
- } else if (typeof this.$attrs[type] === 'object') {
200
- doms.push(
201
- h(
202
- 'es-button',
203
- {
204
- slot: type,
205
- class: ['el-primeval', this.$attrs[type].class],
206
- props: {
207
- ...this.$attrs[type].props,
208
- size: this.$attrs[type].size
209
- ? this.$attrs[type].size
210
- : type === 'prefix' || type === 'suffix'
211
- ? 'small'
212
- : '',
213
- type: 'primary'
214
- },
215
- attrs: this.$attrs[type].attrs,
216
- domProps: this.$attrs[type].icon
217
- ? { innerHTML: this.$attrs[type].icon }
218
- : {},
219
- on: {
220
- click: () => {
221
- this.$attrs[type].click &&
222
- this.$attrs[type].click(this, this.model, this.scope);
223
- this.$attrs[type].event &&
224
- this.$attrs[type].event(this, this.model, this.scope);
225
- }
226
- }
227
- },
228
- [this.$attrs[type].text]
229
- )
230
- );
231
- } else {
232
- doms.push(h('template', { slot: type }, [this.$attrs[type]]));
233
- }
234
- }
235
- },
236
- render(h) {
237
- if (!this.hide) {
238
- let cls = [];
239
- let doms = [];
240
- if (this.readonly) {
241
- let content = this.model ? this.model : this.text;
242
- if (this.$attrs.disabled && this.$attrs.disabledTips) {
243
- content =
244
- typeof this.$attrs.disabledTips == 'string'
245
- ? this.$attrs.disabledTips
246
- : this.$attrs.placeholder;
247
- }
248
- if (
249
- this.$attrs.type === 'textarea' &&
250
- !this.$attrs.disabled &&
251
- !this.$attrs.disabledTips
252
- ) {
253
- if (this.model) {
254
- content = this.model.replace(RegExp('\\n', 'g'), '<br/>');
255
- content = content.replace(RegExp(' ', 'g'), '&nbsp;');
256
- }
257
- return h('div', {
258
- class: ['es-textarea__inner ', { 'es-plain': this.plain }],
259
- domProps: {
260
- innerHTML: content
261
- }
262
- });
263
- } else {
264
- return h(
265
- 'div',
266
- {
267
- class: [
268
- 'es-input__inner',
269
- {
270
- 'es-plain': this.plain,
271
- 'es-disabled-tips':
272
- this.$attrs.disabled && this.$attrs.disabledTips
273
- }
274
- ]
275
- },
276
- [content]
277
- );
278
- }
279
- }
280
- let { prefix, suffix, prepend, append, ...attrs } = this.$attrs;
281
- if (this.$slots.prefix) {
282
- doms.push(h('template', { slot: 'prefix' }, this.$slots.prefix));
283
- } else if (prefix) {
284
- this.renderd(doms, h, 'prefix');
285
- cls.push('es-input-button-prefix');
286
- }
287
- if (this.$slots.suffix) {
288
- doms.push(h('template', { slot: 'suffix' }, this.$slots.suffix));
289
- } else if (suffix) {
290
- this.renderd(doms, h, 'suffix');
291
- cls.push('es-input-button-suffix');
292
- }
293
- if (this.$slots.prepend) {
294
- doms.push(h('template', { slot: 'prepend' }, this.$slots.prepend));
295
- } else if (prepend) {
296
- this.renderd(doms, h, 'prepend');
297
- }
298
- if (this.$slots.append) {
299
- doms.push(h('template', { slot: 'append' }, this.$slots.append));
300
- } else if (append) {
301
- this.renderd(doms, h, 'append');
302
- }
303
- if (this.fetchSuggestions || this.url || this.data.length > 0) {
304
- return h(
305
- 'el-autocomplete',
306
- {
307
- show: this.display,
308
- props: {
309
- rules: this.rule
310
- },
311
- attrs: {
312
- ...attrs,
313
- fetchSuggestions: this.fetchSuggestions
314
- ? this.fetchSuggestions
315
- : this.getData,
316
- triggerOnFocus: this.focusShow,
317
- value: this.model
318
- },
319
- on: this.$listeners
320
- },
321
- doms
322
- );
323
- }
324
- return h(
325
- 'el-input',
326
- {
327
- class: cls,
328
- props: {
329
- label: this.label
330
- ? typeof this.label === 'string'
331
- ? this.label
332
- : this.label.text
333
- : '',
334
- rules: this.rule,
335
- value: this.model
336
- },
337
- domProps: {
338
- value: this.model
339
- },
340
- attrs: { ...attrs },
341
- on: { ...this.$listeners },
342
- directives: [
343
- {
344
- name: 'show',
345
- value: this.display
346
- }
347
- ]
348
- },
349
- doms
350
- );
351
- } else {
352
- return '';
353
- }
354
- }
355
- };
356
- </script>
1
+ <script>
2
+ import { debounce } from 'throttle-debounce';
3
+ import util from 'eoss-ui/src/utils/util';
4
+ import rules from 'eoss-ui/src/utils/rules.js';
5
+ export default {
6
+ name: 'EsInput',
7
+ componentName: 'EsInput',
8
+ inheritAttrs: false,
9
+ props: {
10
+ value: [String, Number],
11
+ rules: [Object, Array],
12
+ method: {
13
+ type: String,
14
+ default: 'get'
15
+ },
16
+ data: {
17
+ type: Array,
18
+ default() {
19
+ return [];
20
+ }
21
+ },
22
+ label: [Object, String],
23
+ url: {
24
+ type: String,
25
+ default: ''
26
+ },
27
+ param: {
28
+ type: Object,
29
+ default() {
30
+ return {};
31
+ }
32
+ },
33
+ fetchSuggestions: Function,
34
+ focusShow: {
35
+ type: Boolean,
36
+ default: false
37
+ },
38
+ display: {
39
+ type: Boolean,
40
+ default: true
41
+ },
42
+ readonly: Boolean,
43
+ plain: Boolean,
44
+ text: [String, Number],
45
+ scope: {},
46
+ exclude: Boolean
47
+ },
48
+ watch: {
49
+ data: {
50
+ immediate: true,
51
+ deep: true,
52
+ handler(val) {
53
+ this.results = val;
54
+ }
55
+ }
56
+ },
57
+ data() {
58
+ return {
59
+ results: []
60
+ };
61
+ },
62
+ computed: {
63
+ showLimit() {
64
+ if (this.showWordLimit === false) {
65
+ return false;
66
+ }
67
+ if (this.showWordLimit === true) {
68
+ return true;
69
+ }
70
+ if (this.count) {
71
+ return true;
72
+ }
73
+ return false;
74
+ },
75
+ maxInput() {
76
+ if (typeof this.count === 'number') {
77
+ return this.count;
78
+ }
79
+ return this.maxlength;
80
+ },
81
+ model: {
82
+ get() {
83
+ return this.value;
84
+ },
85
+ set(val) {
86
+ return val;
87
+ }
88
+ },
89
+ rule() {
90
+ if (this.rules) {
91
+ if (Array.isArray(this.rules)) {
92
+ return this.rules.map((item) => {
93
+ if (rules[item.type]) {
94
+ return {
95
+ pattern: rules[item.type]['pattern'],
96
+ message: item.message
97
+ ? item.message
98
+ : rules[item.type]['message'],
99
+ trigger: item.trigger
100
+ ? item.trigger
101
+ : this.fetchSuggestions || this.url || this.data.length > 0
102
+ ? 'change'
103
+ : 'blur'
104
+ };
105
+ }
106
+ return item;
107
+ });
108
+ }
109
+ if (rules[this.rules.type]) {
110
+ return {
111
+ pattern: rules[this.rules.type]['pattern'],
112
+ message: this.rules.message
113
+ ? this.rules.message
114
+ : rules[this.rules.type]['message'],
115
+ trigger: this.rules.trigger
116
+ ? this.rules.trigger
117
+ : this.fetchSuggestions || this.url || this.data.length > 0
118
+ ? 'change'
119
+ : 'blur'
120
+ };
121
+ }
122
+ return this.rules;
123
+ }
124
+ return undefined;
125
+ }
126
+ },
127
+ beforeCreate() {
128
+ this.getData = debounce(500, (query, callback, isChange) => {
129
+ this.getDatas(query, callback, isChange);
130
+ });
131
+ },
132
+ created() {},
133
+ mounted() {},
134
+ methods: {
135
+ getDatas(query, callback, isChange) {
136
+ if (typeof this.url && this.results.length === 0) {
137
+ util
138
+ .ajax({
139
+ method: this.method,
140
+ url: this.url,
141
+ data: this.param,
142
+ params: this.param
143
+ })
144
+ .then((res) => {
145
+ if (res.rCode === 0) {
146
+ this.results = JSON.parse(JSON.stringify(res.results));
147
+ let results = query
148
+ ? this.results.filter(this.searchFilter(query))
149
+ : this.results;
150
+ callback(results);
151
+ }
152
+ })
153
+ .catch((err) => {
154
+ if (err.message && err.message !== 'canceled') {
155
+ this.$message.error(err.message);
156
+ }
157
+ });
158
+ } else {
159
+ let results = query
160
+ ? this.results.filter(this.searchFilter(query, isChange))
161
+ : this.results;
162
+ callback(results);
163
+ }
164
+ },
165
+ searchFilter(query, isChange) {
166
+ return (state) => {
167
+ if (isChange) {
168
+ return state.value.indexOf(query) > -1;
169
+ } else {
170
+ if (this.exclude) {
171
+ return state.value !== query;
172
+ } else {
173
+ return state.value === query;
174
+ }
175
+ }
176
+ };
177
+ },
178
+ renderd(doms, h, type) {
179
+ if (typeof this.$attrs[type] === 'boolean') {
180
+ if (this.$attrs.render) {
181
+ if (typeof this.$attrs.render == 'string') {
182
+ try {
183
+ doms.push(
184
+ h(
185
+ 'template',
186
+ { slot: type },
187
+ util.toFunction(this.$attrs.render)(h, this)
188
+ )
189
+ );
190
+ } catch (error) {
191
+ throw error;
192
+ }
193
+ } else {
194
+ doms.push(
195
+ h('template', { slot: type }, this.$attrs.render(h, this))
196
+ );
197
+ }
198
+ }
199
+ } else if (typeof this.$attrs[type] === 'object') {
200
+ doms.push(
201
+ h(
202
+ 'es-button',
203
+ {
204
+ slot: type,
205
+ class: ['el-primeval', this.$attrs[type].class],
206
+ props: {
207
+ ...this.$attrs[type].props,
208
+ size: this.$attrs[type].size
209
+ ? this.$attrs[type].size
210
+ : type === 'prefix' || type === 'suffix'
211
+ ? 'small'
212
+ : '',
213
+ type: 'primary'
214
+ },
215
+ attrs: this.$attrs[type].attrs,
216
+ domProps: this.$attrs[type].icon
217
+ ? { innerHTML: this.$attrs[type].icon }
218
+ : {},
219
+ on: {
220
+ click: () => {
221
+ this.$attrs[type].click &&
222
+ this.$attrs[type].click(this, this.model, this.scope);
223
+ this.$attrs[type].event &&
224
+ this.$attrs[type].event(this, this.model, this.scope);
225
+ }
226
+ }
227
+ },
228
+ [this.$attrs[type].text]
229
+ )
230
+ );
231
+ } else {
232
+ doms.push(h('template', { slot: type }, [this.$attrs[type]]));
233
+ }
234
+ }
235
+ },
236
+ render(h) {
237
+ if (!this.hide) {
238
+ let cls = [];
239
+ let doms = [];
240
+ if (this.readonly) {
241
+ let content = this.model ? this.model : this.text;
242
+ if (this.$attrs.disabled && this.$attrs.disabledTips) {
243
+ content =
244
+ typeof this.$attrs.disabledTips == 'string'
245
+ ? this.$attrs.disabledTips
246
+ : this.$attrs.placeholder;
247
+ }
248
+ if (
249
+ this.$attrs.type === 'textarea' &&
250
+ !this.$attrs.disabled &&
251
+ !this.$attrs.disabledTips
252
+ ) {
253
+ if (this.model) {
254
+ content = this.model.replace(RegExp('\\n', 'g'), '<br/>');
255
+ content = content.replace(RegExp(' ', 'g'), '&nbsp;');
256
+ }
257
+ return h('div', {
258
+ class: ['es-textarea__inner ', { 'es-plain': this.plain }],
259
+ domProps: {
260
+ innerHTML: content
261
+ }
262
+ });
263
+ } else {
264
+ return h(
265
+ 'div',
266
+ {
267
+ class: [
268
+ 'es-input__inner',
269
+ {
270
+ 'es-plain': this.plain,
271
+ 'es-disabled-tips':
272
+ this.$attrs.disabled && this.$attrs.disabledTips
273
+ }
274
+ ]
275
+ },
276
+ [content]
277
+ );
278
+ }
279
+ }
280
+ let { prefix, suffix, prepend, append, ...attrs } = this.$attrs;
281
+ if (this.$slots.prefix) {
282
+ doms.push(h('template', { slot: 'prefix' }, this.$slots.prefix));
283
+ } else if (prefix) {
284
+ this.renderd(doms, h, 'prefix');
285
+ cls.push('es-input-button-prefix');
286
+ }
287
+ if (this.$slots.suffix) {
288
+ doms.push(h('template', { slot: 'suffix' }, this.$slots.suffix));
289
+ } else if (suffix) {
290
+ this.renderd(doms, h, 'suffix');
291
+ cls.push('es-input-button-suffix');
292
+ }
293
+ if (this.$slots.prepend) {
294
+ doms.push(h('template', { slot: 'prepend' }, this.$slots.prepend));
295
+ } else if (prepend) {
296
+ this.renderd(doms, h, 'prepend');
297
+ }
298
+ if (this.$slots.append) {
299
+ doms.push(h('template', { slot: 'append' }, this.$slots.append));
300
+ } else if (append) {
301
+ this.renderd(doms, h, 'append');
302
+ }
303
+ if (this.fetchSuggestions || this.url || this.data.length > 0) {
304
+ return h(
305
+ 'el-autocomplete',
306
+ {
307
+ show: this.display,
308
+ props: {
309
+ rules: this.rule
310
+ },
311
+ attrs: {
312
+ ...attrs,
313
+ fetchSuggestions: this.fetchSuggestions
314
+ ? this.fetchSuggestions
315
+ : this.getData,
316
+ triggerOnFocus: this.focusShow,
317
+ value: this.model
318
+ },
319
+ on: this.$listeners
320
+ },
321
+ doms
322
+ );
323
+ }
324
+ return h(
325
+ 'el-input',
326
+ {
327
+ class: cls,
328
+ props: {
329
+ label: this.label
330
+ ? typeof this.label === 'string'
331
+ ? this.label
332
+ : this.label.text
333
+ : '',
334
+ rules: this.rule,
335
+ value: this.model
336
+ },
337
+ domProps: {
338
+ value: this.model
339
+ },
340
+ attrs: { ...attrs },
341
+ on: { ...this.$listeners },
342
+ directives: [
343
+ {
344
+ name: 'show',
345
+ value: this.display
346
+ }
347
+ ]
348
+ },
349
+ doms
350
+ );
351
+ } else {
352
+ return '';
353
+ }
354
+ }
355
+ };
356
+ </script>