xt-element-ui 2.0.0 → 2.0.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/docs/components/base/xt-badge.md +138 -138
- package/docs/components/base/xt-bar.md +181 -181
- package/docs/components/base/xt-chart.md +182 -182
- package/docs/components/base/xt-date-picker.md +110 -110
- package/docs/components/base/xt-icon.md +153 -153
- package/docs/components/base/xt-line.md +144 -144
- package/docs/components/base/xt-multi.md +277 -277
- package/docs/components/base/xt-page.md +83 -83
- package/docs/components/base/xt-pie.md +174 -174
- package/docs/components/base/xt-progress.md +133 -133
- package/docs/components/base/xt-select-tree.md +140 -140
- package/docs/components/base/xt-table.md +343 -343
- package/docs/components/base/xt-tabs.md +196 -196
- package/docs/components/base/xt-upload.md +84 -84
- package/lib/index.common.js +408 -88
- package/lib/index.umd.js +408 -88
- package/lib/index.umd.min.js +4 -4
- package/package.json +1 -1
- package/src/components/xt-button/index.js +7 -7
- package/src/components/xt-card/index.js +6 -6
- package/src/components/xt-chart/index.js +7 -7
- package/src/components/xt-date-picker/index.js +7 -7
- package/src/components/xt-icon/index.js +7 -7
- package/src/components/xt-input/index.vue +86 -6
- package/src/components/xt-page/index.js +7 -7
- package/src/components/xt-select-tree/index.js +7 -7
- package/src/components/xt-step-price/index.vue +139 -20
- package/src/components/xt-step-price-item/index.vue +26 -8
- package/src/components/xt-table/index.js +7 -7
- package/src/components/xt-text/index.vue +130 -0
|
@@ -1,197 +1,197 @@
|
|
|
1
|
-
## XtTabs 标签页组件
|
|
2
|
-
|
|
3
|
-
标签页组件,用于切换不同内容区域。
|
|
4
|
-
|
|
5
|
-
## 基本用法
|
|
6
|
-
|
|
7
|
-
::: demo 基本用法
|
|
8
|
-
```vue
|
|
9
|
-
<template>
|
|
10
|
-
<XtTabs v-model="activeName">
|
|
11
|
-
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
12
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
13
|
-
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
14
|
-
</XtTabs>
|
|
15
|
-
</template>
|
|
16
|
-
|
|
17
|
-
<script>
|
|
18
|
-
export default {
|
|
19
|
-
data() {
|
|
20
|
-
return {
|
|
21
|
-
activeName: 'first'
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
</script>
|
|
26
|
-
```
|
|
27
|
-
:::
|
|
28
|
-
|
|
29
|
-
## 属性说明
|
|
30
|
-
|
|
31
|
-
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|
|
32
|
-
|------|------|--------|--------|------|
|
|
33
|
-
| `value` / `v-model` | String | - | - | 绑定值,选中标签的 name |
|
|
34
|
-
| `type` | String | `card` | `card`、`border-card` | 标签页类型 |
|
|
35
|
-
| `tabPosition` | String | `top` | `top`、`right`、`bottom`、`left` | 标签位置 |
|
|
36
|
-
| `closable` | Boolean | `false` | - | 是否可关闭 |
|
|
37
|
-
| `addable` | Boolean | `false` | - | 是否可新增 |
|
|
38
|
-
| `editable` | Boolean | `false` | - | 是否可编辑(新增+关闭) |
|
|
39
|
-
|
|
40
|
-
## 事件
|
|
41
|
-
|
|
42
|
-
| 事件名 | 说明 | 参数 |
|
|
43
|
-
|--------|------|------|
|
|
44
|
-
| `tab-click` | 点击标签时触发 | `tab` |
|
|
45
|
-
| `tab-remove` | 移除标签时触发 | `name` |
|
|
46
|
-
| `tab-add` | 添加标签时触发 | - |
|
|
47
|
-
| `edit` | 点击新增或删除按钮时触发 | `(targetName, action)` |
|
|
48
|
-
|
|
49
|
-
## XtTabPane 子组件属性
|
|
50
|
-
|
|
51
|
-
| 属性 | 类型 | 默认值 | 说明 |
|
|
52
|
-
|------|------|--------|------|
|
|
53
|
-
| `label` | String | - | 标签页标题 |
|
|
54
|
-
| `name` | String / Number | - | 标签页名称,对应 value |
|
|
55
|
-
| `disabled` | Boolean | `false` | 是否禁用 |
|
|
56
|
-
| `closable` | Boolean | `true` | 是否可关闭 |
|
|
57
|
-
|
|
58
|
-
## 示例
|
|
59
|
-
|
|
60
|
-
### 不同类型
|
|
61
|
-
|
|
62
|
-
::: demo 不同类型
|
|
63
|
-
```vue
|
|
64
|
-
<template>
|
|
65
|
-
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
66
|
-
<XtTabs v-model="activeName">
|
|
67
|
-
<XtTabPane label="卡片式" name="first">卡片式标签页</XtTabPane>
|
|
68
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
69
|
-
</XtTabs>
|
|
70
|
-
<XtTabs type="border-card" v-model="activeName">
|
|
71
|
-
<XtTabPane label="边框卡片" name="first">边框卡片式标签页</XtTabPane>
|
|
72
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
73
|
-
</XtTabs>
|
|
74
|
-
</div>
|
|
75
|
-
</template>
|
|
76
|
-
|
|
77
|
-
<script>
|
|
78
|
-
export default {
|
|
79
|
-
data() {
|
|
80
|
-
return {
|
|
81
|
-
activeName: 'first'
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
</script>
|
|
86
|
-
```
|
|
87
|
-
:::
|
|
88
|
-
|
|
89
|
-
### 标签位置
|
|
90
|
-
|
|
91
|
-
::: demo 标签位置
|
|
92
|
-
```vue
|
|
93
|
-
<template>
|
|
94
|
-
<XtTabs v-model="activeName" tab-position="left">
|
|
95
|
-
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
96
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
97
|
-
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
98
|
-
</XtTabs>
|
|
99
|
-
</template>
|
|
100
|
-
|
|
101
|
-
<script>
|
|
102
|
-
export default {
|
|
103
|
-
data() {
|
|
104
|
-
return {
|
|
105
|
-
activeName: 'first'
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
</script>
|
|
110
|
-
```
|
|
111
|
-
:::
|
|
112
|
-
|
|
113
|
-
### 可关闭
|
|
114
|
-
|
|
115
|
-
::: demo 可关闭
|
|
116
|
-
```vue
|
|
117
|
-
<template>
|
|
118
|
-
<XtTabs v-model="activeName" closable @tab-remove="handleRemove">
|
|
119
|
-
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
120
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
121
|
-
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
122
|
-
</XtTabs>
|
|
123
|
-
</template>
|
|
124
|
-
|
|
125
|
-
<script>
|
|
126
|
-
export default {
|
|
127
|
-
data() {
|
|
128
|
-
return {
|
|
129
|
-
activeName: 'first'
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
methods: {
|
|
133
|
-
handleRemove(name) {
|
|
134
|
-
console.log('移除标签:', name)
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
</script>
|
|
139
|
-
```
|
|
140
|
-
:::
|
|
141
|
-
|
|
142
|
-
### 可编辑
|
|
143
|
-
|
|
144
|
-
::: demo 可编辑
|
|
145
|
-
```vue
|
|
146
|
-
<template>
|
|
147
|
-
<XtTabs v-model="activeName" editable @edit="handleEdit">
|
|
148
|
-
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
149
|
-
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
150
|
-
</XtTabs>
|
|
151
|
-
</template>
|
|
152
|
-
|
|
153
|
-
<script>
|
|
154
|
-
export default {
|
|
155
|
-
data() {
|
|
156
|
-
return {
|
|
157
|
-
activeName: 'first'
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
methods: {
|
|
161
|
-
handleEdit(targetName, action) {
|
|
162
|
-
console.log('操作:', action, '目标:', targetName)
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
</script>
|
|
167
|
-
```
|
|
168
|
-
:::
|
|
169
|
-
|
|
170
|
-
### 禁用标签
|
|
171
|
-
|
|
172
|
-
::: demo 禁用标签
|
|
173
|
-
```vue
|
|
174
|
-
<template>
|
|
175
|
-
<XtTabs v-model="activeName">
|
|
176
|
-
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
177
|
-
<XtTabPane label="配置管理" name="second" disabled>配置管理内容</XtTabPane>
|
|
178
|
-
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
179
|
-
</XtTabs>
|
|
180
|
-
</template>
|
|
181
|
-
|
|
182
|
-
<script>
|
|
183
|
-
export default {
|
|
184
|
-
data() {
|
|
185
|
-
return {
|
|
186
|
-
activeName: 'first'
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
</script>
|
|
191
|
-
```
|
|
192
|
-
:::
|
|
193
|
-
|
|
194
|
-
## 注意事项
|
|
195
|
-
|
|
196
|
-
- 每个 `XtTabPane` 必须设置 `name` 属性
|
|
1
|
+
## XtTabs 标签页组件
|
|
2
|
+
|
|
3
|
+
标签页组件,用于切换不同内容区域。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtTabs v-model="activeName">
|
|
11
|
+
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
12
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
13
|
+
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
14
|
+
</XtTabs>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
export default {
|
|
19
|
+
data() {
|
|
20
|
+
return {
|
|
21
|
+
activeName: 'first'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
26
|
+
```
|
|
27
|
+
:::
|
|
28
|
+
|
|
29
|
+
## 属性说明
|
|
30
|
+
|
|
31
|
+
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|
|
32
|
+
|------|------|--------|--------|------|
|
|
33
|
+
| `value` / `v-model` | String | - | - | 绑定值,选中标签的 name |
|
|
34
|
+
| `type` | String | `card` | `card`、`border-card` | 标签页类型 |
|
|
35
|
+
| `tabPosition` | String | `top` | `top`、`right`、`bottom`、`left` | 标签位置 |
|
|
36
|
+
| `closable` | Boolean | `false` | - | 是否可关闭 |
|
|
37
|
+
| `addable` | Boolean | `false` | - | 是否可新增 |
|
|
38
|
+
| `editable` | Boolean | `false` | - | 是否可编辑(新增+关闭) |
|
|
39
|
+
|
|
40
|
+
## 事件
|
|
41
|
+
|
|
42
|
+
| 事件名 | 说明 | 参数 |
|
|
43
|
+
|--------|------|------|
|
|
44
|
+
| `tab-click` | 点击标签时触发 | `tab` |
|
|
45
|
+
| `tab-remove` | 移除标签时触发 | `name` |
|
|
46
|
+
| `tab-add` | 添加标签时触发 | - |
|
|
47
|
+
| `edit` | 点击新增或删除按钮时触发 | `(targetName, action)` |
|
|
48
|
+
|
|
49
|
+
## XtTabPane 子组件属性
|
|
50
|
+
|
|
51
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
52
|
+
|------|------|--------|------|
|
|
53
|
+
| `label` | String | - | 标签页标题 |
|
|
54
|
+
| `name` | String / Number | - | 标签页名称,对应 value |
|
|
55
|
+
| `disabled` | Boolean | `false` | 是否禁用 |
|
|
56
|
+
| `closable` | Boolean | `true` | 是否可关闭 |
|
|
57
|
+
|
|
58
|
+
## 示例
|
|
59
|
+
|
|
60
|
+
### 不同类型
|
|
61
|
+
|
|
62
|
+
::: demo 不同类型
|
|
63
|
+
```vue
|
|
64
|
+
<template>
|
|
65
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
66
|
+
<XtTabs v-model="activeName">
|
|
67
|
+
<XtTabPane label="卡片式" name="first">卡片式标签页</XtTabPane>
|
|
68
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
69
|
+
</XtTabs>
|
|
70
|
+
<XtTabs type="border-card" v-model="activeName">
|
|
71
|
+
<XtTabPane label="边框卡片" name="first">边框卡片式标签页</XtTabPane>
|
|
72
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
73
|
+
</XtTabs>
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
|
|
77
|
+
<script>
|
|
78
|
+
export default {
|
|
79
|
+
data() {
|
|
80
|
+
return {
|
|
81
|
+
activeName: 'first'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
</script>
|
|
86
|
+
```
|
|
87
|
+
:::
|
|
88
|
+
|
|
89
|
+
### 标签位置
|
|
90
|
+
|
|
91
|
+
::: demo 标签位置
|
|
92
|
+
```vue
|
|
93
|
+
<template>
|
|
94
|
+
<XtTabs v-model="activeName" tab-position="left">
|
|
95
|
+
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
96
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
97
|
+
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
98
|
+
</XtTabs>
|
|
99
|
+
</template>
|
|
100
|
+
|
|
101
|
+
<script>
|
|
102
|
+
export default {
|
|
103
|
+
data() {
|
|
104
|
+
return {
|
|
105
|
+
activeName: 'first'
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
</script>
|
|
110
|
+
```
|
|
111
|
+
:::
|
|
112
|
+
|
|
113
|
+
### 可关闭
|
|
114
|
+
|
|
115
|
+
::: demo 可关闭
|
|
116
|
+
```vue
|
|
117
|
+
<template>
|
|
118
|
+
<XtTabs v-model="activeName" closable @tab-remove="handleRemove">
|
|
119
|
+
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
120
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
121
|
+
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
122
|
+
</XtTabs>
|
|
123
|
+
</template>
|
|
124
|
+
|
|
125
|
+
<script>
|
|
126
|
+
export default {
|
|
127
|
+
data() {
|
|
128
|
+
return {
|
|
129
|
+
activeName: 'first'
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
methods: {
|
|
133
|
+
handleRemove(name) {
|
|
134
|
+
console.log('移除标签:', name)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
</script>
|
|
139
|
+
```
|
|
140
|
+
:::
|
|
141
|
+
|
|
142
|
+
### 可编辑
|
|
143
|
+
|
|
144
|
+
::: demo 可编辑
|
|
145
|
+
```vue
|
|
146
|
+
<template>
|
|
147
|
+
<XtTabs v-model="activeName" editable @edit="handleEdit">
|
|
148
|
+
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
149
|
+
<XtTabPane label="配置管理" name="second">配置管理内容</XtTabPane>
|
|
150
|
+
</XtTabs>
|
|
151
|
+
</template>
|
|
152
|
+
|
|
153
|
+
<script>
|
|
154
|
+
export default {
|
|
155
|
+
data() {
|
|
156
|
+
return {
|
|
157
|
+
activeName: 'first'
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
methods: {
|
|
161
|
+
handleEdit(targetName, action) {
|
|
162
|
+
console.log('操作:', action, '目标:', targetName)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
</script>
|
|
167
|
+
```
|
|
168
|
+
:::
|
|
169
|
+
|
|
170
|
+
### 禁用标签
|
|
171
|
+
|
|
172
|
+
::: demo 禁用标签
|
|
173
|
+
```vue
|
|
174
|
+
<template>
|
|
175
|
+
<XtTabs v-model="activeName">
|
|
176
|
+
<XtTabPane label="用户管理" name="first">用户管理内容</XtTabPane>
|
|
177
|
+
<XtTabPane label="配置管理" name="second" disabled>配置管理内容</XtTabPane>
|
|
178
|
+
<XtTabPane label="角色管理" name="third">角色管理内容</XtTabPane>
|
|
179
|
+
</XtTabs>
|
|
180
|
+
</template>
|
|
181
|
+
|
|
182
|
+
<script>
|
|
183
|
+
export default {
|
|
184
|
+
data() {
|
|
185
|
+
return {
|
|
186
|
+
activeName: 'first'
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
</script>
|
|
191
|
+
```
|
|
192
|
+
:::
|
|
193
|
+
|
|
194
|
+
## 注意事项
|
|
195
|
+
|
|
196
|
+
- 每个 `XtTabPane` 必须设置 `name` 属性
|
|
197
197
|
- `v-model` 绑定的值必须与某个 `XtTabPane` 的 `name` 匹配
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
## XtUpload 上传组件
|
|
2
|
-
|
|
3
|
-
上传组件,基于 ElementUI Upload 封装,支持图片预览、删除等功能。
|
|
4
|
-
|
|
5
|
-
## 基本用法
|
|
6
|
-
|
|
7
|
-
::: demo 基本用法
|
|
8
|
-
```vue
|
|
9
|
-
<template>
|
|
10
|
-
<XtUpload v-model="imageSrc" action="/upload" base-url="/api" />
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
export default {
|
|
15
|
-
data() {
|
|
16
|
-
return {
|
|
17
|
-
imageSrc: ''
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
</script>
|
|
22
|
-
```
|
|
23
|
-
:::
|
|
24
|
-
|
|
25
|
-
## 属性说明
|
|
26
|
-
|
|
27
|
-
| 属性 | 类型 | 默认值 | 说明 |
|
|
28
|
-
|------|------|--------|------|
|
|
29
|
-
| `src` / `v-model` | String | `''` | 已上传文件路径,多文件用逗号分隔 |
|
|
30
|
-
| `action` | String | `''` | 上传接口地址 |
|
|
31
|
-
| `baseUrl` | String | `''` | 文件访问基础 URL |
|
|
32
|
-
| `multiple` | Boolean | `false` | 是否支持多文件上传 |
|
|
33
|
-
| `limit` | Number | `5` | 最大上传数量 |
|
|
34
|
-
| `disabled` | Boolean | `false` | 是否禁用 |
|
|
35
|
-
| `accept` | String | `.jpg,.jpeg,.png` | 允许的文件类型 |
|
|
36
|
-
| `autoUpload` | Boolean | `true` | 是否自动上传 |
|
|
37
|
-
| `size` | String | `''` | 缩略图大小,可选 `big` |
|
|
38
|
-
|
|
39
|
-
## 示例
|
|
40
|
-
|
|
41
|
-
### 多文件上传
|
|
42
|
-
|
|
43
|
-
::: demo 多文件上传
|
|
44
|
-
```vue
|
|
45
|
-
<template>
|
|
46
|
-
<XtUpload v-model="fileSrc" action="/upload" multiple />
|
|
47
|
-
</template>
|
|
48
|
-
|
|
49
|
-
<script>
|
|
50
|
-
export default {
|
|
51
|
-
data() {
|
|
52
|
-
return {
|
|
53
|
-
fileSrc: ''
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
</script>
|
|
58
|
-
```
|
|
59
|
-
:::
|
|
60
|
-
|
|
61
|
-
### 禁用状态
|
|
62
|
-
|
|
63
|
-
::: demo 禁用状态
|
|
64
|
-
```vue
|
|
65
|
-
<template>
|
|
66
|
-
<XtUpload v-model="imageSrc" action="/upload" disabled />
|
|
67
|
-
</template>
|
|
68
|
-
|
|
69
|
-
<script>
|
|
70
|
-
export default {
|
|
71
|
-
data() {
|
|
72
|
-
return {
|
|
73
|
-
imageSrc: 'path/to/image.jpg'
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
</script>
|
|
78
|
-
```
|
|
79
|
-
:::
|
|
80
|
-
|
|
81
|
-
## 事件
|
|
82
|
-
|
|
83
|
-
| 事件名 | 说明 | 参数 |
|
|
84
|
-
|--------|------|------|
|
|
1
|
+
## XtUpload 上传组件
|
|
2
|
+
|
|
3
|
+
上传组件,基于 ElementUI Upload 封装,支持图片预览、删除等功能。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtUpload v-model="imageSrc" action="/upload" base-url="/api" />
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
imageSrc: ''
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
```
|
|
23
|
+
:::
|
|
24
|
+
|
|
25
|
+
## 属性说明
|
|
26
|
+
|
|
27
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
28
|
+
|------|------|--------|------|
|
|
29
|
+
| `src` / `v-model` | String | `''` | 已上传文件路径,多文件用逗号分隔 |
|
|
30
|
+
| `action` | String | `''` | 上传接口地址 |
|
|
31
|
+
| `baseUrl` | String | `''` | 文件访问基础 URL |
|
|
32
|
+
| `multiple` | Boolean | `false` | 是否支持多文件上传 |
|
|
33
|
+
| `limit` | Number | `5` | 最大上传数量 |
|
|
34
|
+
| `disabled` | Boolean | `false` | 是否禁用 |
|
|
35
|
+
| `accept` | String | `.jpg,.jpeg,.png` | 允许的文件类型 |
|
|
36
|
+
| `autoUpload` | Boolean | `true` | 是否自动上传 |
|
|
37
|
+
| `size` | String | `''` | 缩略图大小,可选 `big` |
|
|
38
|
+
|
|
39
|
+
## 示例
|
|
40
|
+
|
|
41
|
+
### 多文件上传
|
|
42
|
+
|
|
43
|
+
::: demo 多文件上传
|
|
44
|
+
```vue
|
|
45
|
+
<template>
|
|
46
|
+
<XtUpload v-model="fileSrc" action="/upload" multiple />
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<script>
|
|
50
|
+
export default {
|
|
51
|
+
data() {
|
|
52
|
+
return {
|
|
53
|
+
fileSrc: ''
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
```
|
|
59
|
+
:::
|
|
60
|
+
|
|
61
|
+
### 禁用状态
|
|
62
|
+
|
|
63
|
+
::: demo 禁用状态
|
|
64
|
+
```vue
|
|
65
|
+
<template>
|
|
66
|
+
<XtUpload v-model="imageSrc" action="/upload" disabled />
|
|
67
|
+
</template>
|
|
68
|
+
|
|
69
|
+
<script>
|
|
70
|
+
export default {
|
|
71
|
+
data() {
|
|
72
|
+
return {
|
|
73
|
+
imageSrc: 'path/to/image.jpg'
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</script>
|
|
78
|
+
```
|
|
79
|
+
:::
|
|
80
|
+
|
|
81
|
+
## 事件
|
|
82
|
+
|
|
83
|
+
| 事件名 | 说明 | 参数 |
|
|
84
|
+
|--------|------|------|
|
|
85
85
|
| `change` | 文件上传或删除时触发 | `src` |
|