vue.js - 如何在小时:分钟内进行简单的输入?
问题描述
我正在努力创建一个非常简单的用户输入字段,只允许用户以这种格式输入小时:分钟:“00:00”。这个想法是只有文本输入,没有日期选择器、日历、时钟、上午/下午等。
我不知道我是否应该查看正则表达式,因为我希望用户输入采用上面指定的格式,并在输入时进行验证。
我尝试过使用input type="time"
,但它在平台和浏览器之间的行为不同(在 Firefox 中添加 AM/PM,在 Android 上显示时钟选择器等)我尝试过类似的东西
<v-text-field oninput="this.value = this.value.replace(/[^0-9]/g, '').replace([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1});"></v-text-field>
,但我无法让它工作。有任何想法吗?提前致谢!
解决方案
您需要使用mask
正确的格式输入文本字段值。
对于 Vue.js,有一个简单而强大的掩码组件 - https://vuejs-tips.github.io/vue-the-mask/
所以,你应该:
- 安装组件
npm i -S vue-the-mask
- 在组件内部本地导入它
import {TheMask} from 'vue-the-mask'
export default {
components: {TheMask}
}
- 与适当的面具一起使用
<the-mask :mask="['##:##']" />
Codesandbox##:##
示例链接 - https://codesandbox.io/s/pedantic-dijkstra-np411
推荐阅读
- php - 当购物车中已经有超过 5 个“product_cat”时,限制“product_cat”的购物车添加(Woocommerce)
- vba - 将邮件移动到带有发件人姓名的文件夹
- c++ - c++ 为什么我不应该从不同的线程解锁互斥锁
- r - R:查找向量中没有出现在另一个向量中的每个元素并将其设置为零
- python - 根据另一个数据框向熊猫数据框列添加值
- reactjs - 使用 react-native-image-picker 和 axios 将图像上传到 S3 预签名 url
- reactjs - ReactJS 中导入包的性能
- javascript - 如何制作一个始终面向同一点的三角形?
- python - 检查DataFrame的2列是否彼此子集的有效方法
- javascript - 如何在 UI 更改时进行后台同步而不是获取请求?