xt-element-ui 2.1.3 → 2.1.4
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-date-picker.md +180 -111
- package/docs/components/base/xt-step-price.md +3 -2
- package/lib/index.common.js +165 -74
- package/lib/index.css +1 -1
- package/lib/index.umd.js +165 -74
- package/lib/index.umd.min.js +3 -3
- package/package.json +1 -1
- package/src/components/xt-button/index.vue +2 -1
- package/src/components/xt-button/style/index.scss +2 -2
- package/src/components/xt-card/style/index.scss +2 -2
- package/src/components/xt-card-item/style/index.scss +5 -40
- package/src/components/xt-date-picker/index.vue +147 -27
- package/src/components/xt-step-price/style/index.scss +0 -4
- package/src/components/xt-step-price-item/index.vue +1 -1
- package/src/components/xt-table/index.vue +12 -3
- package/src/styles/variables-export.scss +0 -72
|
@@ -1,111 +1,180 @@
|
|
|
1
|
-
## XtDatePicker 日期选择器组件
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## 基本用法
|
|
6
|
-
|
|
7
|
-
::: demo 基本用法
|
|
8
|
-
```vue
|
|
9
|
-
<template>
|
|
10
|
-
<XtDatePicker v-model="dateRange" />
|
|
11
|
-
</template>
|
|
12
|
-
|
|
13
|
-
<script>
|
|
14
|
-
export default {
|
|
15
|
-
data() {
|
|
16
|
-
return {
|
|
17
|
-
dateRange: []
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
</script>
|
|
22
|
-
```
|
|
23
|
-
:::
|
|
24
|
-
|
|
25
|
-
## 属性说明
|
|
26
|
-
|
|
27
|
-
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|
|
28
|
-
|------|------|--------|--------|------|
|
|
29
|
-
| `value` / `v-model` | Array | - | - |
|
|
30
|
-
| `dateType` | String | `date` | `date`、`datetime`、`month`、`year`、`quarter`、`week` | 日期类型 |
|
|
31
|
-
| `separator` | String | `至` | - | 分隔符文本 |
|
|
32
|
-
| `disabled` | Boolean | `false` | - | 是否禁用 |
|
|
33
|
-
| `width` |
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
## XtDatePicker 日期选择器组件
|
|
2
|
+
|
|
3
|
+
日期选择器组件用于选择日期范围或单个日期,支持多种日期类型(年月日、年月、年、季度等),并提供时间维度选择功能,满足统计分析场景。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtDatePicker v-model="dateRange" />
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
dateRange: []
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
22
|
+
```
|
|
23
|
+
:::
|
|
24
|
+
|
|
25
|
+
## 属性说明
|
|
26
|
+
|
|
27
|
+
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|
|
28
|
+
|------|------|--------|--------|------|
|
|
29
|
+
| `value` / `v-model` | Array / Date | - | - | 日期范围 `[startDate, endDate]` 或单个日期 |
|
|
30
|
+
| `dateType` | String | `date` | `date`、`datetime`、`month`、`year`、`quarter`、`week` | 日期类型 |
|
|
31
|
+
| `separator` | String | `至` | - | 分隔符文本 |
|
|
32
|
+
| `disabled` | Boolean | `false` | - | 是否禁用 |
|
|
33
|
+
| `width` | String | `100%` | - | 组件宽度 |
|
|
34
|
+
| `rangeMode` | Boolean | `true` | - | 是否为范围选择模式,false 时为单选 |
|
|
35
|
+
| `showDimension` | Boolean | `false` | - | 是否显示时间维度选择器 |
|
|
36
|
+
| `dimension` | String | `day` | `day`、`month`、`year`、`custom` | 当前时间维度 |
|
|
37
|
+
|
|
38
|
+
## 事件
|
|
39
|
+
|
|
40
|
+
| 事件名 | 说明 | 参数 |
|
|
41
|
+
|--------|------|------|
|
|
42
|
+
| `change` | 日期值改变时触发 | `[startDate, endDate]` 或 `date` |
|
|
43
|
+
| `dimension-change` | 时间维度或值变化时触发 | `{ dimension, value }` |
|
|
44
|
+
| `focus` | 输入框获得焦点时触发 | - |
|
|
45
|
+
| `blur` | 输入框失去焦点时触发 | - |
|
|
46
|
+
|
|
47
|
+
## 示例
|
|
48
|
+
|
|
49
|
+
### 不同日期类型
|
|
50
|
+
|
|
51
|
+
::: demo 不同日期类型
|
|
52
|
+
```vue
|
|
53
|
+
<template>
|
|
54
|
+
<div style="display: flex; flex-direction: column; gap: 12px;">
|
|
55
|
+
<XtDatePicker v-model="dateRange" dateType="date" />
|
|
56
|
+
<XtDatePicker v-model="monthRange" dateType="month" />
|
|
57
|
+
<XtDatePicker v-model="yearRange" dateType="year" />
|
|
58
|
+
<XtDatePicker v-model="quarterRange" dateType="quarter" />
|
|
59
|
+
</div>
|
|
60
|
+
</template>
|
|
61
|
+
|
|
62
|
+
<script>
|
|
63
|
+
export default {
|
|
64
|
+
data() {
|
|
65
|
+
return {
|
|
66
|
+
dateRange: [],
|
|
67
|
+
monthRange: [],
|
|
68
|
+
yearRange: [],
|
|
69
|
+
quarterRange: []
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</script>
|
|
74
|
+
```
|
|
75
|
+
:::
|
|
76
|
+
|
|
77
|
+
### 单选模式
|
|
78
|
+
|
|
79
|
+
::: demo 单选模式
|
|
80
|
+
```vue
|
|
81
|
+
<template>
|
|
82
|
+
<XtDatePicker v-model="singleDate" :range-mode="false" />
|
|
83
|
+
</template>
|
|
84
|
+
|
|
85
|
+
<script>
|
|
86
|
+
export default {
|
|
87
|
+
data() {
|
|
88
|
+
return {
|
|
89
|
+
singleDate: null
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
</script>
|
|
94
|
+
```
|
|
95
|
+
:::
|
|
96
|
+
|
|
97
|
+
### 时间维度选择(统计分析)
|
|
98
|
+
|
|
99
|
+
::: demo 时间维度选择
|
|
100
|
+
```vue
|
|
101
|
+
<template>
|
|
102
|
+
<XtDatePicker
|
|
103
|
+
v-model="dateRange"
|
|
104
|
+
:show-dimension="true"
|
|
105
|
+
:dimension="currentDimension"
|
|
106
|
+
@update:dimension="currentDimension = $event"
|
|
107
|
+
@dimension-change="handleDimensionChange"
|
|
108
|
+
/>
|
|
109
|
+
</template>
|
|
110
|
+
|
|
111
|
+
<script>
|
|
112
|
+
export default {
|
|
113
|
+
data() {
|
|
114
|
+
return {
|
|
115
|
+
dateRange: [],
|
|
116
|
+
currentDimension: 'day'
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
methods: {
|
|
120
|
+
handleDimensionChange({ dimension, value }) {
|
|
121
|
+
console.log('维度:', dimension, '值:', value)
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
</script>
|
|
126
|
+
```
|
|
127
|
+
:::
|
|
128
|
+
|
|
129
|
+
### 自定义分隔符
|
|
130
|
+
|
|
131
|
+
::: demo 自定义分隔符
|
|
132
|
+
```vue
|
|
133
|
+
<template>
|
|
134
|
+
<XtDatePicker v-model="dateRange" separator="~" />
|
|
135
|
+
</template>
|
|
136
|
+
|
|
137
|
+
<script>
|
|
138
|
+
export default {
|
|
139
|
+
data() {
|
|
140
|
+
return {
|
|
141
|
+
dateRange: []
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
</script>
|
|
146
|
+
```
|
|
147
|
+
:::
|
|
148
|
+
|
|
149
|
+
### 禁用状态
|
|
150
|
+
|
|
151
|
+
::: demo 禁用状态
|
|
152
|
+
```vue
|
|
153
|
+
<template>
|
|
154
|
+
<XtDatePicker v-model="dateRange" disabled />
|
|
155
|
+
</template>
|
|
156
|
+
|
|
157
|
+
<script>
|
|
158
|
+
export default {
|
|
159
|
+
data() {
|
|
160
|
+
return {
|
|
161
|
+
dateRange: []
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
</script>
|
|
166
|
+
```
|
|
167
|
+
:::
|
|
168
|
+
|
|
169
|
+
## 时间维度说明
|
|
170
|
+
|
|
171
|
+
当启用 `showDimension` 后,选择不同维度会有以下效果:
|
|
172
|
+
|
|
173
|
+
| 维度 | 日期类型 | 选择模式 | 范围限制 |
|
|
174
|
+
|------|----------|----------|----------|
|
|
175
|
+
| `day` | date | 范围选择 | 无限制 |
|
|
176
|
+
| `month` | month | 范围选择 | 结束日期必须与开始日期同月份 |
|
|
177
|
+
| `year` | year | 范围选择 | 结束日期必须与开始日期同年份 |
|
|
178
|
+
| `custom` | 保持原值 | 单选 | 用户自定义 |
|
|
179
|
+
|
|
180
|
+
选择"月"维度后,结束日期会限制在开始日期所在月份内,方便统计分析时快速选择同一月内的日期范围。
|
|
@@ -42,7 +42,7 @@ Vue.component(XtStepPriceItem.name, XtStepPriceItem)
|
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
### 基本用法
|
|
45
|
-
|
|
45
|
+
::: demo
|
|
46
46
|
```vue
|
|
47
47
|
<template>
|
|
48
48
|
<div style="width: 600px;">
|
|
@@ -72,6 +72,7 @@ export default {
|
|
|
72
72
|
}
|
|
73
73
|
</script>
|
|
74
74
|
```
|
|
75
|
+
:::
|
|
75
76
|
|
|
76
77
|
### 自定义字段名
|
|
77
78
|
|
|
@@ -121,7 +122,7 @@ export default {
|
|
|
121
122
|
| `fieldKeys` | Object | `{ min: 'min', max: 'max', price: 'price' }` | 字段名映射,支持自定义字段名 |
|
|
122
123
|
| `limit` | Number | `0` | 阶梯数量上限,<=0 表示不限制 |
|
|
123
124
|
| `step` | Number | `10` | 阶梯增量,新增时自动填充下一级的 min 值 |
|
|
124
|
-
| `disabled` | Boolean | `false` | 是否禁用所有操作 |
|
|
125
|
+
| `disabled` | Boolean | `false` | 是否禁用所有操作 |
|
|
125
126
|
| `allowNegative` | Boolean | `false` | 是否允许输入负数价格和下限 |
|
|
126
127
|
| `tip` | String | `'区间左闭右闭 [min, max],最后一级为 [min, +∞),保证连续且不重叠。'` | 底部提示文本 |
|
|
127
128
|
| `defaultFirst` | Boolean | `true` | 空数组时是否自动生成默认阶梯 |
|