一、问题描述:
我们在输入银行账号会设置每四位添加一个空格,输入金额,每三位添加一个空格。那么,在vue,element-ui 组件中,如何实现呢?
二、效果图:
三、实现代码:
<el-table-column prop="account" label="银行账号"><template slot-scope="scope"><el-input type="text" maxlength="23" v-model=w.account" placeholder="请输入银行账号" @change="validateNum(scope.$index)"></el-input></template>
</el-table-column>
// 输入银行卡号validateNum (index) {this.setNum(this.supplierObjs.supplierBankAccount, index)},
// 设置银行卡号,每四位添加一个空格setNum (data, index) {data.forEach((element, i) => {element.account = place(/s/g, '').replace(/[^d]/g, '').replace(/(d{4})(?=d)/g, '$1 ')this.$set(element, 'account', element.account)})},
四、思路:
1、在组件的change事件中添加实现方法(因为我们的业务需求是可以添加多个银行卡号,所以用index做了区分),取出每行的值;
2、用element.account = place(/s/g, '').replace(/[^d]/g, '').replace(/(d{4})(?=d)/g, '$1 '),类似正则表达式的方法对数据进行处理;
3、this.$set(element, 'account', element.account),set方法,将处理后的值set到model中,处理后的数据就保存到model中了。
实现起来也非常简单,但是因为element-UI没有提供输入设置的方法,所以需要自己根据需求完善一下。
本文发布于:2024-01-28 15:00:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064252208243.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |