亲宝软件园·资讯

展开

element表单提示定位元素

不会打代码 人气:0

需求来了

一般来说,element-ui的表单是提供表单校验的,就是写好只有,点击提交如果不通过会有红字提醒,如下图:

因为我们这次的表单内容比较多,是会有也没滚动的情况,产品要求我们点击提交去校验的时候要

既然把需求分隔成了两个点就一个一个来解决!

弹出校验失败的第一个信息

这个相对比较简单,因为element的校验函数大家都用过,基本大家一般都只用第一个参数,就是是否校验通过,这次我们要用到他的第二个参数就是校验信息,会包括所有你的表单这次不通过校验的字段和提示文字,我们只需要取第一个即可,看代码:

// 校验规则像下面这样
const rules = {
  name: {required: true, message: '请输入活动名称'},
  age: {required: true, message: '请输入年龄'},
}

// 校验函数                           // 重点是者第二个参数 message
this.$refs.formName.validate((valid, message) => {
  if (valid) { // 如果校验通过则提交
    alert('submit!');
  } else { // 校验不通过
    // 取第一个不通过的信息对象提示即可
    this.$message.error(message[Object.keys(message)[0]].message);
    return false;
  }
});

// message这个参数实际打印出来是这样的(是一个对象)
// 1. 会根据你有多少个不通过校验的表单项就会多少个信息对象在里面
// 2. 信息对象会有两个字段,一个是你的message提示文字,对应你的规则的message,一个是
//    你这个规则对应的字段
{
  name: { message: '请输入活动名称', field: 'name' },
  age: { message: '请输入年龄', field: 'name' },
}

滚到目标窗口

错误做法

加载全部内容

相关教程
猜你喜欢
用户评论