iview 表格渲染表单校验踩坑集锦

2 篇文章 0 订阅

1. iview中表单验证中datepicker组件type为datetime验证

在进行校验时有时会有因为datepicker的验证问题在

this.$refs.xx.validate((flag) => {console.log(flag)}) 

如果其他的验证有问题会返回false 如果都通过验证 则flag没值,打印不出来, 逻辑简单的如下, 必填 + 大于当前时间 可以这么做

time: [
  {
     required: true,
     message: '截止日期必填',
     type: 'date',
     trigger: 'blur'
   },
   {
     validator: (rule, value, callback) => {
       const TIMESTAMP = Date.parse(value)
       const NOWDATE = Date.parse(new Date())
       TIMESTAMP >= NOWDATE ? callback() : callback(new Error('不可早于当前时间!'))
     }
   }
]

如果逻辑复杂的话 还是写在datepicker组件的@on-change事件里进行判定

2.iview 中表格表头渲染filters/指定数据

在我们渲染表格的时候, 有时候后端返回的数据可能有的值为1/0,告诉你1显示"是", 0 显示"否", 这时候可以用

官方的方法 filters

还可以使用render方法,如下

columns: [
  {
    title: '是否办卡了',
    key: 'is_card',
    render: (h, params) => {
      return h('div', {
    }, params.row.is_card ? '是' : '否')
  }
]

大体介绍一下render的用法

render: (h, params) =>  {
  // 中间可以插入逻辑, 就比如刚才的那个逻辑
  let val = params.row.is_card ? '是' : '否'
  // 渲染的元素 
  // [] 为此标签为父元素 中间可以继续写需要渲染的元素
  // {} 为该元素的属性, style(样式)/props(属性值)/on(事件)
  return h('元素标签', []/{}, '元素标签显示的值val')
}

3.iview表单校验时InputNumber组件问题

InputNumber标签 首先由一个问题 他的默认值为0

在为InputNumber标签进行表单验证时做必填时触发方法'blur' 'change'都会有问题

number: {
  required: true,
  message: '数字必填哦',
  trigger: 'blur' / 'change'
}

你改变了inputNumber的值的时候 他还是回提醒你没有必填, 这时把trigger这属性删了就ok

让他根据自己的逻辑去判断,就可以判断成功

4.iview中form表单重置问题resetFields

正常的使用环境, 就进行重置了 重置数据 重置报错

this.$refs.xxxform.resetFields()

resetFields这个方法是根据this.$refs.xxxform下fields属性通过循环来resetField()来实现的

如果我们要实现部分表单重置可以使用这个属性,(除了prop为name的都进行重置)

this.$refs.xxxform.fields.forEach(function (e) {
  if (e.prop == 'name') {
    e.resetField()
  }
})

完事~ 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iview是一款基于Vue.js的UI组件库,提供了丰富的表格组件和表单校验功能。 在iview表格组件中,可以使用表单校验功能来对每一行或特定列的数据进行校验。可以根据需要设置表格的rules属性来定义校验规则。 首先,我们需要定义校验规则,可以使用常见的校验规则例如required、max、min等,也可以定义自定义的校验规则。每个校验规则都可以附加一条错误信息。 在表格的columns属性中,可以通过scopedSlots可以定义每一列的渲染方式。在scopedSlots中,我们可以使用iview提供的FormItem组件来实现表单校验功能。 具体实现步骤如下: 1. 在表格的columns属性中,为需要校验的列设置scopedSlots属性,并在scopedSlots中使用FormItem组件包裹需要校验表单元素。 2. 在FormItem组件中,可以使用prop属性来指定表单元素对应的字段名。同时,可以在FormItem组件中添加rules属性,指定对应的校验规则。 3. 在设置完校验规则后,可以通过v-model来与数据进行双向绑定。在校验不通过时,FormItem会自动显示错误信息。 通过以上步骤,我们就可以在iview表格组件中实现表单校验功能。当用户在表格中输入数据时,会根据定义的校验规则进行实时校验,并在不通过时给出错误提示。 这样的表格表单校验功能,可以帮助开发者更方便地对表格中的数据进行校验和验证,确保数据的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值