CRMEB多店版diy装修位置偏移修复

CRMEB多店版商城系统,官方已经发布到V4.1版本了,有很多人应该都已经使用上了。小企在使用过程中发现CRMEB多店版从V3.5版本一直到现在的V4.1版本diy装修组件的商品列表组件设置样式的左右边距属性都有bug,设置好后商品展示位置在小程序端发生偏移。以下分享的修复方案针对V3.5到V4.1版本的系统都有效。主要修复代码在uniapp端。

  首先,一句话总结,就是左右边距设置的值在uniAPP端被写死了,导致设置左右边距后装修无效甚至是展示商品位置发生偏移。以下是修复步骤

  第一步:找到商品列表展示组件,文件路径pages\index\components\goodsList.vue,在该文件中找到两列瀑布流模块,在left侧模块的for循环中添加动态style样式 :style="{ width: itemWidth }" ,该样式是把宽度计算的值赋值给当前view,为什么这样写请自行查阅资料。同理需要在right侧模块添加该style样式。修改好之后的完整代码是<view v-for="(item,index) in rightList" :key="index" class="wf-item" :style="{ width: itemWidth }" @tap="goDetail(item)">。

  第二步:在script代码块的data() {}模块中添加字面量prConfigVal:this.dataConfig.prConfig.val,获取到后端接口设置的左右边距的数字值。该字面量添加是为了在computed计算属性中使用。

  第三步:在computed:{}属性中,添加计算边距宽度的方法函数,代码如下: ``` itemWidth() { // 1. 获取动态值 // bgConfig 对应原来的 $page-padding (左右边距) const pagePadding = this.bgConfig;

javascript 复制代码
  // prConfig.val 对应原来的 $grid-gap (列间距)
  // 建议增加一个默认值,防止数据未加载时出错
  const gridGap = this.dataConfig.prConfig?.val || 10;

  // 2. 返回计算后的样式字符串
  // 注意:这里假设 bgConfig 和 prConfig.val 的单位是 'rpx',与项目保持一致
  return `calc((100vw - 2 * ${pagePadding}rpx - ${gridGap}rpx) / 2)`;
},

```

添加这个代码是为了计算每一个商品模块可以使用的宽度。 其中bgConfig是小企自己添加上的。 现在的系统中没有只有左右边距,复制代码的时候去掉bgConfig相关的代码就可以。

  第四步:修改源码错误的css样式。找到文件中模块,把代码写死的

css 复制代码
//$page-padding: 10px;
//$grid-gap: 10px;

边距值注释掉或者删除掉。 其次要找到.wf-item类样式删除掉这个样式定义中的width:calc()这部分宽度计算代码。系统的diy装修左右边距不起作用的原因就是这个类样式计算的是固定值而不是获取后台装修自定义值导致的。修改后的完整代码:

css 复制代码
//$page-padding: 10px;
//$grid-gap: 10px;
.wf-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20rpx;
}
.wf-item {
  //width: calc((100vw - 2 * #{$page-padding} - #{$grid-gap}) / 2);
  padding-bottom: 20rpx;
}
小企在这里只是注释掉了,如果嫌弃代码冗余可以直接删除注释掉的代码

  经过以上步骤的修改。商品列表组件,样式中左右边距无效的bug就解除了。把小程序重新打包发布后就可以正常使用了。

  如果你看到这里,非常感谢您的耐心阅读。专注于CRMEB商城全系列系统开发5年了服务了十几个老板了,如果您有部署商城,二开相关需求可以留言联系小企。敬请关注!

相关推荐
IT_陈寒2 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
默_笙2 小时前
🚓 分诊台与拆题术:让 RAG 学会判断和规划
前端·javascript
CopyCode2 小时前
用 AI 迁项目有多爽?我把 Webpack 迁 Vite 的全过程记下来了
前端·架构
去伪存真2 小时前
Electron 自动化发布指南:GitHub Actions 跨平台打包全纪录
前端·electron
计算机魔术师2 小时前
OpenAI智能体失控闯进美国政府网站,53张用户图片外泄背后
前端
颜进强2 小时前
14 · NestJS ExecutionContext 执行上下文:守卫、拦截器、过滤器拿到的"同一个 context",为什么能力不一样?
前端·后端·ai编程
程序员Flycan2 小时前
🚀 跨域终结者:前端代理服务器(Proxy)原理解析与配置总结
前端
怕浪猫2 小时前
顶级模型一句话,AI 写出了能玩的 QQ飞车
前端·面试·github
huakoh2 小时前
MCP 报错分不清?先看响应里是 result 还是 error
前端
呃呃呃呃ex2 小时前
10. 现代前端工程化:ES6 React 项目实战与原理解析
前端·javascript