当前位置: 首页 > news >正文

做公司+网站建设价格低东莞房价2021最新价格走势

做公司+网站建设价格低,东莞房价2021最新价格走势,江山市建设厅网站,玉树州网站建设公司需求背景 就是页面很多表单输入框,期望在提交的时候,都要把用户两边的空格去掉 ❌使用 vue 的指令 .trim 去掉空格 中间会输入不了空格, 比如我想输入 你好啊 中国, 这中间的空格输入不了,只能变成 你好啊中国 ❌在提交的时候使用…

需求背景

就是页面很多表单输入框,期望在提交的时候,都要把用户两边的空格去掉

  • ❌使用 vue 的指令 .trim 去掉空格
    1. 中间会输入不了空格, 比如我想输入 你好啊 中国, 这中间的空格输入不了,只能变成 你好啊中国
  • ❌在提交的时候使用 trim()方法去两边空格
    1. 需要一个个字段的添加,容易出错
    2. 有必填项的校验麻烦,比如用户输入了多个空格 ,我们希望能在输入框下面有提示

期望实现

  • ✅封装一个指令,能够在鼠标失焦的时候把两边的空格去掉,这样就对之前的业务代码没有影响
  • Input,TextArea都能支持
  • ✅不区分组件库,ElementAntd, iview这些的Input都能使用

希望如下几种使用方法都支持

    <el-form><el-form-item><input type="text" v-model="inputs.aaa" placeholder="普通inut" v-trim /></el-form-item><el-form-item><el-input v-model="inputs.bbb" placeholder="el-input" v-trim /></el-form-item><el-form-item v-trim><el-input v-model="inputs.ccc" placeholder="外层使用" /></el-form-item></el-form>

在这里插入图片描述

实现

Vue3版本

/*** 去除两边空格* <el-input v-model="xxx" v-trim></el-input>*/function getInput(el) {let inputEle;const { tagName } = el;if (tagName === "INPUT" || tagName === "TEXTAREA") {inputEle = el;} else {inputEle = el.querySelector("input");if (!inputEle) {inputEle = el.querySelector("textarea");}}return inputEle;
}function dispatchEvent(el, type) {let evt = document.createEvent("HTMLEvents");evt.initEvent(type, true, true);el.dispatchEvent(evt);
}const Trim = {mounted: el => {if (!el) return;let inputEle = getInput(el);const handler = function (event) {const newVal = event.target.value.trim();if (event.target.value != newVal) {event.target.value = newVal;dispatchEvent(inputEle, "input");}};el.inputEle = inputEle;el._blurHandler = handler;inputEle?.addEventListener("blur", handler);},beforeUnmount(el) {const { inputEle } = el;inputEle?.removeEventListener("blur", el._blurHandler);},
};Trim.install = app => {app.directive("trim", Trim);
};export default Trim;

Vue2版本

/*** 去除两边空格* 使用 <el-input v-model="xxx" v-trim></el-input>*/
function getInput(el) {let inputEle;const { tagName } = el;if (tagName === "INPUT" || tagName === "TEXTAREA") {inputEle = el;} else {inputEle = el.querySelector("input");if (!inputEle) {inputEle = el.querySelector("textarea");}}return inputEle;
}
function dispatchEvent(el, type) {let evt = document.createEvent('HTMLEvents')evt.initEvent(type, true, true)el.dispatchEvent(evt)
}
const Trim = {inserted: el => {let inputEle = getInput(el)const handler = function(event) {const newVal = event.target.value.trim()if (event.target.value != newVal) {event.target.value = newValdispatchEvent(inputEle, 'input')}}el.inputEle = inputEleel._blurHandler = handlerinputEle.addEventListener('blur', handler)},unbind(el) {const { inputEle } = elinputEle.removeEventListener('blur', el._blurHandler)}
}
Trim.install = function(Vue) {Vue.directive('trim', Trim)
}
export default Trim

使用

<template><div class="container">测试页面<el-form><el-form-item><input type="text" v-model.trim="inputs._a" placeholder="原生input,v-model.trim能实现" /></el-form-item><el-form-item><input type="text" v-model="inputs.aaa" placeholder="普通inut" v-trim /></el-form-item><el-form-item><el-input v-model="inputs.bbb" placeholder="el-input" v-trim /></el-form-item><el-form-item v-trim><el-input v-model="inputs.ccc" placeholder="外层使用" /></el-form-item></el-form></div>
</template><script>
export default {name: 'TestPage',data() {return {inputs: {aaa: '',bbb: '',ccc: '',},}},
}
</script>
<style lang="scss" scoped>
.el-form {padding-top: 100px;max-width: 500px;margin: 0 auto;input {width: 100%;padding: 0 20px;height: 40px;}
}
</style>

效果预览
在这里插入图片描述

http://www.yayakq.cn/news/68614/

相关文章:

  • 怎么做网上卖菜网站全球域名查询
  • 一般网站 要 加入 友情链接吗asp.net网站恢复
  • 旅游网站建设的费用明细php在网站上怎么做充值
  • 彩妆网站建设策划书网站开发 流程图
  • 怎样建网站才赚钱网页制作大全
  • 做区块链的网站创办个人网站
  • 公司建设网站哪家好简单的企业网站建设教程
  • 网站建设项目招标公告织梦网站模板后台密码找回
  • 网站的首页文案刘家窑网站建设公司
  • 我做网站杭州建设招聘信息网站
  • 网站建设现状分析栖霞做网站价格
  • 做荣誉证书的网站金昌市住房和城乡建设局网站
  • 网站上传教程广州网站定制
  • 彩票网站建设策划书公司网站制作风格
  • 如何做与别人的网站一样的做流量任务的试用网站
  • 如何申请电商网站获取微信公众号首图
  • 比较容易做的网站网站网络营销推广
  • 建站公司常见提成比例wordpress多菜单
  • 苏州做学校网站的抖音代运营合同模板免费完整版
  • 网站建设合伙合同三水专业网站建设哪家好
  • 做任务网站有哪些免费制作视频的软件有哪些
  • 用户体验较好的网站广东建设银行网站
  • 网站推荐货源阿里云做电脑网站
  • 机械类网站如何做网站优化刚刚深圳发生的大事
  • 昆明优化网站多少钱做内贸只要有什么网络推广网站
  • 华为域名注册泉州seo托管
  • 万维网网站商标设计网站免费
  • 电脑系统做的好的几个网站点图片跳到网站怎么做
  • jsp可以做那些小网站wordpress安装到跟目录下
  • 江苏省城市建设信用手册网站网站建设后台 手工上传