s***@qq.com
s***@qq.com
  • 发布:2022-05-11 09:14
  • 更新:22 小时前
  • 阅读:365

【报Bug】uni-swipe-action-item 点击时,在小程序开发工具中报错ReferenceError: isPC is not defined

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.4.7

第三方开发者工具版本号: 1.05.2204250

基础库版本号: 2.24.1

项目创建方式: HBuilderX

示例代码:
<!-- uni-swipe-action 是最外层包裹性质的容器 -->  
<uni-swipe-action>  
  <block v-for="(goods, i) in cart" :key="i">  

    <!-- uni-swipe-action-item 可以为其子节点提供滑动操作的效果。需要通过 options 属性来指定操作按钮的配置信息 -->  
    <uni-swipe-action-item :right-options="options" @click="swipeItemClickHandler(goods)">  
        <!-- 在 radioChangeHandler事件处理函数中,通过事件对象e,得到商品的 goods_id 和 goods_state -->  
      <my-goods :goods="goods" :show-radio="true" :show-num="true" @radio-change="radioChangeHandler" @num-change="numberChangeHandler"></my-goods>  
    </uni-swipe-action-item>  
  </block>  
</uni-swipe-action>  


export default {
mixins: [badgeMix],
computed: {
...mapState('m_cart', ['cart'])
},
data() {
return {
options: [{
text: '删除',
style: {
backgroundColor: '#C00000'
}
}]
};
},

操作步骤:

~

预期结果:

~

实际结果:

~

bug描述:

uni-swipe-action-item 点击时,在小程序开发工具中报错

2022-05-11 09:14 负责人:无 分享
已邀请:
五块钱的果汁

五块钱的果汁 - 如果我的回答对您有帮助,请三连^_^

请上传一个能重现问题的测试工程

  • 1***@163.com

    不会搞 我是在学习阶段

    2022-05-14 14:42

  • 1***@163.com

    报的错 isPC是 源代码里面的

    2022-05-14 14:43

  • 5***@qq.com

    这要什么测试工程,就是这个组件不能用 滑动的点击事件一点就报错

    4 天前

w***@163.com

w***@163.com

他们这个写组件的应该拖出去砍了,源码逻辑是只有在h5平台才去加载isPC函数,但是在调用的时候不区分平台,所以才会其他平台全部报错。把“你自己项目路径/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js”

// #ifdef H5
import {
isPC
} from "./isPC"
// #endif

改成:let isPC=function(){return false};如果要在pc上跑不要这么改

  • 1***@qq.com

    非常感谢,完美解决

    3 天前

  • 1***@qq.com

    回复 1***@qq.com: 兄弟你是怎么解决的?我按照上面写的没有解决呀

    2 天前

  • 1***@qq.com

    回复 1***@qq.com: 可以了

    2 天前

  • s***@sina.com

    回复 1***@qq.com: 请问怎么改?

    2 天前

五块钱的果汁

五块钱的果汁 - 如果我的回答对您有帮助,请三连^_^

请上传一个能重现问题的测试工程

s***@sina.com

s***@sina.com

同樣這個問題 版本3.4.7

  • 1***@163.com

    兄弟解决了吗?

    2022-05-14 14:51

  • 2***@qq.com

    回复 1***@163.com: <uni-swipe-action>

    <block v-for="(goods, i) in cart" :key="i">

    <!-- uni-swipe-action-item 可以为其子节点提供滑动操作的效果。需要通过 options 属性来指定操作按钮的配置信息 -->

    <uni-swipe-action-item>

    <my-goods :goods="goods" :show-radio="true" :show-num="true" @radio-change="radioChangeHandler"

    @num-change="numberChangeHandler"></my-goods>

    <template v-slot:right>

    <view class="slot-button" @click="swipeActionClickHandler(goods)">

    <text class="slot-button-text">删除</text>

    </view>

    </template>

    </uni-swipe-action-item>

    </block>

    </uni-swipe-action>

    2022-05-14 17:26

  • 2***@qq.com

    插槽可以用

    2022-05-14 17:27

  • 2***@qq.com

    .slot-button {

    background-color: #C00000;

    display: flex;

    width: 150rpx;

    justify-content: center;

    / 子元素水平居中 /

    align-items: center;

    / 子元素垂直居中 /

    }


    .slot-button-text {  
    color: #f0f0f0;
    font-size: 14px;
    }

    2022-05-14 17:27

  • 2***@qq.com

    这是样式

    2022-05-14 17:28

1***@163.com

1***@163.com

同样的问题

1***@163.com

1***@163.com

在HbuilderX上安装这个插件

2***@qq.com

2***@qq.com

我也碰到了这个问题,isPC()函数明明是定义了的,也在mpwxs.js引入了,为啥还报错呢?

DCloud_UNI_HT

DCloud_UNI_HT

无法复现问题 ,请提供可简单可复现问题的代码

1***@qq.com

1***@qq.com

用插槽可以,这是那段的代码

删除

css样式需要改一下:

.slot-button{
background-color: #cc6ed7;
display: flex;
justify-content: center;
align-items: center;
width: 150rpx;
color: white;
font-size: 14px;
}

1***@qq.com

1***@qq.com

看最后那篇帖子,完美解决

1***@163.com

1***@163.com

找到项目路径/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js”文件里,把import {isPC} from "./isPC"删除,然后把这个文件的所有的let is_pc = isPC || false这一项 都改成false就好了

要回复问题请先登录注册