1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| import { VantComponent } from '../common/component';
| import { BLUE } from '../common/color';
| import { getRect } from '../common/utils';
| VantComponent({
| props: {
| inactive: Boolean,
| percentage: {
| type: Number,
| observer: 'setLeft',
| },
| pivotText: String,
| pivotColor: String,
| trackColor: String,
| showPivot: {
| type: Boolean,
| value: true,
| },
| color: {
| type: String,
| value: BLUE,
| },
| textColor: {
| type: String,
| value: '#fff',
| },
| strokeWidth: {
| type: null,
| value: 4,
| },
| },
| data: {
| right: 0,
| },
| mounted() {
| this.setLeft();
| },
| methods: {
| setLeft() {
| Promise.all([
| getRect(this, '.van-progress'),
| getRect(this, '.van-progress__pivot'),
| ]).then(([portion, pivot]) => {
| if (portion && pivot) {
| this.setData({
| right: (pivot.width * (this.data.percentage - 100)) / 100,
| });
| }
| });
| },
| },
| });
|
|