前言:小写转大写,可以用过滤器实现,但当使用 v-model 时就不行了,这里有解决方案。转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9289205.html

网站地址:我的个人vue+element ui demo网站

github地址:yuleGH github

可以采用过滤器实现

<html>

<head>
<title>测试</title>
</head>
<body>
<div id="app"> <input id="val1" v-model="value1">
<br/>
显示小写转大写 : {{ value1 | upper}} </div>
<!-- 引入组件库 -->
<script type="text/javascript" src="${ctx}/static/common/js/vue.js"></script> <script type="text/javascript"> new Vue({
el: "#app",
data: {
value1: ""
},
filters: {
upper: function (value) {
if (!value) return '';
value = value.toString();
return value.toUpperCase();
}
}
});
</script> </body> </html>

v-model 中的实现

  如果想要在使用 v-model 时,也要大写转小写,就不能喝 filter 结合,因为这会报错,这时应该换换种实现方式。可以采用计算属性

<html>

<head>
<title>测试</title>
</head>
<body>
<div id="app">
输入框中直接输入小写转大写:
<input v-model="value2Computed">
</div>
<!-- 引入组件库 -->
<script type="text/javascript" src="${ctx}/static/common/js/vue.js"></script> <script type="text/javascript"> new Vue({
el: "#app",
data: {
value2: ""
},
computed : {
value2Computed : {
get: function(){
return this.value2;
},
set : function(val){
this.value2 = val.toUpperCase();
}
}
}
});
</script> </body> </html>

form表单中实现,加上校验

  form表单中实现同v-model,不过校验的 trigger 得是 change。

<html>

<head>
<title>测试</title>
<link rel="stylesheet" href="../lib/elementui/theme-chalk/index.css" type="text/css">
</head>
<body>
<div id="app">
3、form表单中 有校验、并且小写转大小:trigger: 'change'
<el-form :model="ruleForm" :rules="rules">
<el-form-item label="名称(必须包含123)" prop="name">
<el-input v-model="nameComputed"></el-input>
</el-form-item>
</el-form>
</div>
<!-- 引入组件库 -->
<script type="text/javascript" src="../lib/vue.js"></script>
<script type="text/javascript" src="../lib/elementui/index.js"></script> <script type="text/javascript">
var validateName = (rule, value, callback) => {
if (value.indexOf("123") == -1) {
callback(new Error('请输入包含123'));
} else {
callback();
}
};
new Vue({
el: "#app",
data: {
ruleForm : {
name : ""
},
rules : {
'name' : [
{ required: true, message: '请输入名称', trigger: 'change' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'change' },
{ validator: validateName, trigger: 'change' }
]
}
},
computed : {
nameComputed : {
get: function(){
return this.ruleForm.name;
},
set : function(val){
this.ruleForm.name = val.toUpperCase();
}
}
}
});
</script> </body> </html>

转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9289205.html

vue 如何将输入框的输入自动小写转大写(使用 v-model 时采取另一种方式)的更多相关文章

  1. VUE实现限制输入框最多输入15个中文,或者30个英文

    vue项目,输入框限制输入15个中文,或者30个英文 <input type="text" v-model="groupName" class=" ...

  2. 解决Vue中element-ui输入框无法输入问题

    <el-input placeholder="请输入内容" v-model="input3" class="input-with-select& ...

  3. vue 前端判断输入框不能输入0 空格。特殊符号。

    oninput="value=value.replace(/[^\d.]/g,'').replace(/\.{2,}/g,'.').replace('.','$#$').replace(/\ ...

  4. input输入框输入小写字母自动转换成大写字母

    input输入框输入小写字母自动转换成大写字母有两种方法 1.用js onkeyup事件,即时把字母转换为大写字母: html里input加上 <input type="text&qu ...

  5. CSS样式 让你的输入的小写自动变成大写。

    1.transform:uppercase  参考:http://www.w3school.com.cn/cssref/pr_text_text-transform.asp 2.可以让你实现输入的小写 ...

  6. 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。

    要实现的效果:进入页面后默认焦点在第一个输入框,输入内容.回车.right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个. PS:自己模拟的 ...

  7. jquery 实现邮箱输入自动提示功能:(二)

    上篇文章写到了一个不错的jquery实现邮箱输入自动提示功能,发现还有一个不错的自动提示插件: 先展示结果如图: html代码: <center> <h1>输入邮箱试试!< ...

  8. JavaScript 输入自动完成插件

    作为web开发的一员,应该都不陌生,信息处理时,很多时候需要根据用户的输入实时反馈查询结果供其选择,这给了用户很好的人机交互体验,在各大门户网站上已经被使用的很成熟了,最近项目中用到此功能,网上有很多 ...

  9. 从一次输入框无法输入的bug,谈如何限制输入框输入类型

    bug的产生和修改 上周临近周末休息的时候,一个同事跑过来了,对我说:"阿伦啊,有一个页面出问题了,火狐浏览器所有的input都没法输入了."我一听,是不是你给加了什么属性,让in ...

随机推荐

  1. pymongo学习第1篇——增删改查

    参考文档: 1.https://docs.mongodb.org/getting-started/python/ 2.http://api.mongodb.org/python/current/api ...

  2. ELASTICSEARCH健康red的解决

    今天惯例看统计报表, 才发现es集群悲剧了......昨天下午到今天早上, 持续报错, 写了1G的错误日志>_<#(暂无监控....) 当前状态: 单台机器, 单节点(空集群), 200W ...

  3. Flask从入门到精通之MySQL数据库操作

    前面的章节中我们已经学习了如何建立模型和关系,接下来我们学习如何使用模型的最好方法是在Python shell 中实际操作.并将介绍最常用的数据库操作. 一.创建表 首先,我们要让Flask-SQLA ...

  4. PHP之旅8 URL与表单

    表单 表单的出现让用户和后台主机有了直接的交互,网站开始变的‘动态起来’,在HTML的各个标记符中,与PHP关系最为紧密的要属表单标记符了,常见的表单标记符有<form>.<inpu ...

  5. Ubuntu软件更新时出错问题解决

    apt-get instal update 提示:错误,无法解析域名等等之类的 网上解决办法一大堆,先别急着用网上的方法,来检查检查系统是否有网络连接 网络图标显示网络连接,等等,别被表面迷惑了,命令 ...

  6. 2019CVPR《Mask Scoring R-CNN》

    题目:<Mask Scoring R-CNN> CVPR 2019 Oral Paper(2017年783篇论文,获得口头报道的有215篇,oral paper很有含金量) 华中科技大学h ...

  7. Django的sitemap

    1.安装 安装Sitemap APP的步骤如下: 在INSTALLED_APPS设置中添加'django.contrib.sitemaps'; 确认你的TEMPLATES设置中包含DjangoTemp ...

  8. JVM-压缩指针

    什么是压缩指针: 通常64位JVM消耗的内存会比32位的最多会多用1.5倍,这是因为对象指针在64位架构下,对象指针长度会翻倍. 对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内 ...

  9. php 禁止谷歌蜘蛛抓取

    $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);  if (strpos($useragent, 'googlebot')){ exit(); ...

  10. Check类中的incl、union,excl,diff,intersect

    定义一些类,这些类之间有父子关系,如下: class Father{} class Son1 extends Father{} class Son2 extends Father{} class To ...