Conformance: time duration component fix bug.

This commit is contained in:
chiayin
2023-08-28 17:01:26 +08:00
parent 83485fa8aa
commit b897b163aa
5 changed files with 90 additions and 71 deletions

View File

@@ -5,12 +5,9 @@
<p>min: {{ timeData.min }}</p>
<p>max: {{ timeData.max }}</p>
<div class="flex justify-between items-center">
<!-- <Durationjs :max="max" :min="min" :size="'min'" @total-seconds="minTotalSeconds"></Durationjs>
<Durationjs :max="minVuemax" :min="minVuemin" :size="'min'" @total-seconds="minTotalSeconds"></Durationjs>
<span>~</span>
<Durationjs :max="max" :min="min" :size="'max'" @total-seconds="maxTotalSeconds"></Durationjs> -->
<Durationjs :max="minVuemax" :min="minVuemin" :size="'min'" ></Durationjs>
<span>~</span>
<Durationjs :max="maxVuemax" :min="maxVuemin" :size="'max'" ></Durationjs>
<Durationjs :max="maxVuemax" :min="maxVuemin" :size="'max'" @total-seconds="maxTotalSeconds"></Durationjs>
</div>
</div>
</div>
@@ -26,23 +23,33 @@ export default {
min: 0,
max: 0,
},
timeRangeMin: 0,
timeRangeMax: 0,
}
},
components: {
Durationjs,
},
computed: { // 一定得用 computed 傳遞資料,不要拿父元件 props 的數值,不然子元件會交互影響。
computed: {
minVuemin() {
return this.time ? this.time.min : 0;
let min = 0;
min = JSON.parse(JSON.stringify(this.timeData.min)); // 深拷貝原始 timeData 的內容
return min;
},
minVuemax() {
return this.time ? this.time.max : 0;
let max = 0;
max = JSON.parse(JSON.stringify(this.timeData.max)); // 深拷貝原始 timeData 的內容
return max;
},
maxVuemin() {
return this.time ? this.time.min : 0;
let min = 0;
min = JSON.parse(JSON.stringify(this.timeData.min)); // 深拷貝原始 timeData 的內容
return min;
},
maxVuemax() {
return this.time ? this.time.max : 0;
let max = 0;
max = JSON.parse(JSON.stringify(this.timeData.max)); // 深拷貝原始 timeData 的內容
return max;
},
},
watch: {
@@ -57,15 +64,17 @@ export default {
min: newValue.min,
max: newValue.max
};
};
}
},
},
methods: {
minTotalSeconds(e) {
// console.log('min:', e);
console.log('min:', e);
this.timeRangeMin = e;
},
maxTotalSeconds(e) {
// console.log('max:', e);
console.log('max:', e);
this.timeRangeMax = e;
},
},
}