初学框架
vue
搭配vux
使用发现这个UI库使用有些力不从心。下面说说自己在表单验证过程遇到的两个需求问题及解决的方法。
1.使用x-input
组件可知,官方只给了三种类型的is-type
验证器,分别是:email
,china-name
,china-mobile
,其他需要自己自定义验证器,怎么写验证器?
解决方法:自定义is-type
验证器(试验过可以在valid使用正则验证)
<x-input type="number" v-model="code" placeholder="请输入验证码" :is-type="codeValue" />
export default {
data() {
return{
code: '',
codeValue: function(value){
return {
valid: value.length === 4,
msg: "验证码有误!"
}
}
}
}
}
2.表单内容都填写无误之后,提交表单的按钮才能被触发(如图)
输入框为空时,“完成”按钮状态输入内容有误时,“完成”按钮状态
输入格式正确时,“完成”按钮状态
解决方法:使用
x-input
组件的@on-change
事件,及ref
属性
<x-input type="number" v-model="code" placeholder="请输入验证码" :is-type="codeValue" ref="refcode" @on-change="keyDown" />
<x-button action-type="submit" :disabled="disabled">完成</x-button>
export default {
data() {
return{
code: '',
disabled: true,
codeValue: function(value){
return {
valid: value.length === 4,
msg: "验证码有误!"
}
}
}
},
methods: {
keyDown(){
if(this.$refs.refcode.valid == true && this.code != ''){
this.disabled = false;
}else{
this.disabled = true;
}
}
}
}
以上是我在使用vux
表单验证时遇到的需求问题,虽然不是什么难点,但是很实用~
有更好的方法欢迎各位留言~
网友评论