我现在想做一个日期输入框: :
当我光标在第一个位置时,输入1,后面的0被删除,1被插入,光标后移
参考了@Hikamai 的思路,不过我用的是同样的input,而不是div,这样能更容易复制一个样式完全一样的input。下面的input只使用placeholder,上面的才用于输入。效果图如下:
用Vue2实现的代码如下:
html部分
<div id="app">
<div class="wrapper">
<input :placeholder="placeholder" />
<input type="text" v-model="value" placeholder="0000.00.00" />
</div>
</div>
js部分
var app = new Vue({
el: '#app',
data: {
value: ''
},
computed: {
placeholder() {
return this.value + '0000.00.00'.slice(this.value.length)
}
}
})
完整示例代码:RunJS DEMO
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
一个简单的思路,你这有 8 个 0,所以将这个输入框分为 8 个小输入框,调整样式,将它们的
placholder
设为 0,然后每次输入后,聚焦到下一个小输入框。