iview在项目中遇到的坑

1、下拉框选中某一项搜索发现总是搜不到,最后发现是选中后选中值后边莫名多了很长的空格,原因很简单,在代码中opction闭合标签和主体没有在一行。

 

2、iview+vue项目中,用百分比或者display:flex弹性盒布局,而且多层标签下的table容易出现宽度变得很大,在加载中就像加了动画一样宽度在变大。要么改变布局,要么将table宽度设定,如

在初始化时将宽度设为父级宽度的多少或者其他。

 

3、iview select 远程搜索时,回显后点击搜索框再点击其他地方使其失去焦点则会将回显的搜索词清空。可以参考光放中的setQuery属性。(不建议或者iview的select远程搜索自我感觉不怎么好用,可以自己封装一个)

 

4、使用v-if要注意,如果里面有初始化获取的数据,容易造成数据丢失。比如v-if中有一个select组件,当true->false->true,下拉框数据容易丢失。

 

5、iview 中的InputNumber 有设置为空的需求的话,还是建议换成输入框然后加入限制吧,不然会相当麻烦。(比如选择值后再为空,也就是说取消设值,当然这种需求很少)

如:有这么一个需求:新增时候可以为空可以选择值(只能整数字),在修改时候不能为空,这个时候倒不如用input:

HTML:

<FormItem label="序号" prop="serialNumber">
     <Input v-model="formValidate.serialNumber" :maxlength="5"  style="width: 286px"></Input>
     <!-- <InputNumber :max="100000"
                :min="1"
                v-model.trim="formValidate.serialNumber"
                style="width: 286px;"></InputNumber>-->
</FormItem>

data:

const validateAge = (rule, value, callback) => {
        if (!Number.isInteger(value*1)) {
            callback(new Error('序号只能为整数字'));
        } else if(value*1<=0&&!util.isEmpty(value)) {
            callback(new Error('序号必须大于0'));
        }else if (util.isEmpty(value)) {
          if (this.modalFlag.custom.updateBasicData) {
            callback(new Error('序号不能为空'));
          }else{
            callback();
          }
        } else{
            callback();
        }
    };

data.return校验:

serialNumber: [{ validator: validateAge, trigger: 'blur'}],

 

 

还有很多,当时没注意记录,现在也想不起来了。随手记录多重要的习惯。

转载于:https://www.cnblogs.com/wy120/p/11046328.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值