初学者可能出现的问题,以及解决办法(目前大部分是商城问题)

前言

本篇主要为刚开始学习的人,以及为了便于自己以后碰到同类问题而写的


问题以及解决方法还有一些好用的方法

一、把数字字符,拼接在一起变成数组

代码如下(因为我的三个字符用的是Long,所以是Long集合):

        List<Long> recString = new ArrayList<>();
        recString.add(spu.getCid1());
        recString.add(spu.getCid2());
        recString.add(spu.getCid3());
//前端方法实现
		this.value.push(res.data.goods.cid1);
        this.value.push(res.data.goods.cid2);
        this.value.push(res.data.goods.cid3);
         this.getMenus(this.value)//最后把数组传给三级联动

二、v-for="(item, index) in goods.params"的讲解

item:data数据list数组的别名。(就相当于给下面的uniqueAttribute换了一个名字)
index:list数组索引 。(你可以把它看成是下标)
例子:假如数据是
在这里插入图片描述
uniqueAttribute[i]就会像for循环一样取下标显示
在这里插入图片描述

in后添加的是你自己的json数据

三、element ui中form表单组件文字对齐以及label文字过长换行的问题

解决办法:增加label-width属性;

label-width表单域标签的宽度,例如 ‘50px’。作为 Form 直接子元素的 form-item 会继承该值。

四、JSON.stringify()

JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
一般用法:()可以快速的读取信息)JSON.stringify(data, null, 4) //使用四个空格缩进

五、动态生成sku规格(我找了好几天,是我目前见到最方便的了)

转载:https://gitee.com/ltsh/vue-sku-generation
转载:https://blog.csdn.net/Windyluna/article/details/111937136(这个可能更符合你们的要求)
注意:如果想无线添加就把他设置的if语句去掉即可

六、cascader,数据输入高亮在父级问

在这里插入图片描述
问题以及解决办法:v-module,只传了第三级的值,可能因为stream流式有第四级,我通过前端递归把第四级设置为undefined,使第四级不显示,但是还是存在的,使用必须把三个值push成数组传给v-moudle,解决办法在问题一那,前后端都可解决,前端方便一丢丢。记得要把值传给三级联动。或者使后端用forEach来弄三级联动。

七、bigint前端数据回显精度丢失

解决办法:1.如果是IdType.INPUT的加个@JsonFormat(shape = JsonFormat.Shape.STRING)注解。
2.如果想他自己创建id,那就用type = IdType.AUTO。

八、去掉list重复数据

/**
     * 去掉List集合里重复的数据
     * @param list
     * @return list
     */
    public static List<JSONObject> removeDuplicate(List list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }
        return list;
    }

九、QueryWrapper和LambdaQueryWrapper做条件查询

解决办法:

  1. QueryWrapper必须用数据库属性名如:“wrapper.orderByDesc(“create_time”)”
  2. LambdaQueryWrapper用实体类的属性名如:“wrapper.orderByDesc(Entity::getCreateTime);”

九、XML里<=爆红(运行元素内容必须由格式正确的字符数据或标记组成)

解决办法:

  1. 用<![CDATA[]]>把符号包起来就可以了<![CDATA[<=]]>

九、MySQL,COUNT与SUM数据为空的对待

1.COUNT无论表里是否有数据,哪怕字段为null,都会返回0
2.SUM,sum() 函数是不统计null的,即使是sum(多个字段),其中某一个字段为null也不行(所以要记得判断不为NULL)
解决问题:在统计数据时,如果结果为null,怎么转成0呢?
1.语法: IFNULL(字段,默认值) 即: IFNULL(字段,0)
2.使用COALESCE函数,改函数依次判断所有条件并且返回第一个不为null的值,
语法:COALESCE(字段1,字段2…) 即: COALESCE(sum(字段),0)
3.case WHEN 条件1 THEN 结果1 … ELSE 其余结果 END
即: case when isnull(sum(字段)) then 0 else sum(字段) end
4.IS TRUE或者IS NOT NULL 即:字段 IS TRUE/IS NOT NULL
5.返回用int,因为Integer会返回null值,但int,默认值是0

总结

本篇我会在日后每一次的学习中不断完善的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值