- 实现原理:
1.判断页面是否有数据改动, 可以在watch方法中深度监听form这个对象是否有改动.
(这里要注意, isDataChangeCount之所以用Number来判断变化次数, 是因为页面加载完时, form会出现一次数据变化, 因此只用true和false来判断是不准确的)
2.在beforeRouteLeave方法里进行对isDataChangeCount的判断,进而实现对应的提示和操作
自定义表单验证
export default {
data () {
// 在这里声明自定义校验规则
let validEndDay = (rule, value, callback) => {
if (value.length === 0) callback(new Error('不能为空'))
let checkTimeFlag = true
if (this.endMonNum < this.startMonNum) checkTimeFlag = false