怎么让vxe-input设置type为time后绑定变量的值只有时间
时间: 2024-02-28 17:55:04 浏览: 123
当使用 `vxe-input` 的 `type` 属性设置为 `time` 时,绑定的变量值确实包含日期。如果您只需要获取时间,可以在绑定变量时使用 `Date` 对象的 `setFullYear()` 方法将年份设置为 1970 年,月份设置为 0,日期设置为 1。这样绑定的变量值就只包含时间部分了。
示例代码:
```html
<template>
<div>
<vxe-input v-model="time" type="time"></vxe-input>
<p>绑定的变量值为: {{ time }}</p>
<p>只包含时间部分的值为: {{ timeWithoutDate }}</p>
</div>
</template>
<script>
export default {
data() {
return {
time: '',
timeWithoutDate: ''
};
},
watch: {
time(val) {
// 将绑定的变量值转换为只包含时间部分的值
const date = new Date();
date.setHours(val.split(':')[0]);
date.setMinutes(val.split(':')[1]);
date.setSeconds(0);
date.setMilliseconds(0);
this.timeWithoutDate = date.toLocaleTimeString('en-US', { hour12: false });
}
}
};
</script>
```
在上面的示例代码中,我们使用了 `watch` 监听 `time` 变量的变化,并将绑定的变量值转换为只包含时间部分的值,存储在 `timeWithoutDate` 变量中。注意,我们使用 `toLocaleTimeString()` 方法将时间格式化为 `HH:mm:ss` 的字符串,并且将 `hour12` 参数设置为 `false`,这样就可以保证输出的时间格式是 24 小时制的。
阅读全文