如何添加前导零?

问题描述 投票:0回答:1

如何在文本输入中添加前导零?

const day = ref('');

<input type="text" v-model="day" />

所以,我尝试了一个观察者:

watch(day, (newValue) => {
    day.value = newValue.toString().padStart(2, '0');
});

这可行,但如果我输入,

1
,它会按预期变成
01
,但如果我突出显示输入并再次点击
1
,它不会转换为前导零。

有办法让这个工作吗?

vue.js vuejs3
1个回答
0
投票

问题出在组件使用的时候。
解决方案是使用

nextTick()
:

watch(day, async newValue => {
  await nextTick();
  day.value = newValue.toString().padStart(2, '0');
});

Vue SFC 游乐场

© www.soinside.com 2019 - 2024. All rights reserved.