1.vant 的CountDown倒计时
倒计时一开始,自动执行一次“finish 倒计时结束时触发” ,“change 倒计时变化时触发”也会触发,原因不明,导致直接触发事件,暂时解决方法,设置一个全局变量,值为1,再finish事件触发时,自减一,第二次触发finish事件时,才执行我想要执行的代码
上诉方法 结果有bug
改用chang方法
通过chang方法返回的参数
判断全部都为0时,执行结束后代码
const res=val.days+val.hours+val.minutes+val.seconds
if(res==0){
this.endShow=false
}
2.vant 表单验证规则
表单校验方法有两种,1是根据正则校验(pattern),2是函数方法
<van-form validate-first @failed="onFailed">
<van-field
v-model="value1"
name="tel"
placeholder="请输入手机号"
:rules="[{ pattern, message: '请输入手机号' }]"
/>
//:rules="[{ pattern, message: '请输入手机号' }]" 这个是关键 ,
//rules=数组,数组里包裹对象,每一个对象就是一种规则,[ {(规则1) },{ (规则2)},{(规则n)} ]
//规则中可以设置的参数:
//{ required: true//是否为必选字段,当值为空字符串、空数组、undefined、null 时,校验不通过 }
//{message:'请输入正确信息' //错误提示文案}
//验证类型:
//<!-- 通过 pattern 进行正则校验 --> {pattern : 变量名( vue的data中的变量 ) }
//<!-- 通过校验函数返回 true 表示校验通过,false 表示不通过 --> { validator: 变量名( vue的methods中的方法 ) }
<!-- 提交-->
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit">提交</van-button>
</div>
</van-form>
vant的提示效果,如果内容为空,会将input的placeholder变红,再加一行提示语;内容不为空,且内容不符合规则,内容也会变红
因为提示信息会在input框下多出一行,看着不美观,我才用的方法是将验证提示信息隐藏,改用vant的toast进行提示
.van-field__error-message{
display: none;
}