1.创建组件和描述中相同
2.使用组件和描述中相同
3.在输入框中输入任意字符
- 发布:2024-09-08 11:30
- 更新:2024-09-09 13:32
- 阅读:180
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 23H2
HBuilderX类型: 正式
HBuilderX版本号: 4.24
浏览器平台: Chrome
浏览器版本: 128.0.6613.120
项目创建方式: HBuilderX
操作步骤:
预期结果:
popup的内容区关闭
popup的内容区关闭
实际结果:
popup的内容区关闭
popup的内容区关闭
bug描述:
app端是正常的,h5会有问题
组件代码:
<template>
<view>
<slot name="custom-content"></slot>
<uni-popup ref="popup_ref">
<view style="height: 100px;">
<uni-easyinput v-model="inputModel"></uni-easyinput>
</view>
</uni-popup>
</view>
</template>
<script setup>
import {ref, onMounted, getCurrentInstance} from 'vue'
const inputModel = defineModel({default: []})
const this_ = getCurrentInstance()
onMounted(() =>{
this_.refs['popup_ref'].open('bottom')
})
</script>
<style>
</style>
然后使用组件的方式:
<template>
<view>
<bug-popup v-model="inputModel">
<template v-slot:custom-content>插槽内容</template>
</bug-popup>
</view>
</template>
<script setup>
import {ref} from 'vue'
const inputModel = ref('')
</script>
在h5端像输入框输入内容会导致popup的内容区关闭
3 个回复
1***@qq.com (作者)
本来想试着把传入v-model改成触发事件再在父组件里修改相关的值替代一下,没想到除了Model其他绑定的响应式属性只要被改了,就会触发这个bug。就是说封装组件,不能绑定响应式属性和插槽同时使用,否则就触发这个bug。
BFC
已确认bug,感谢反馈, 下个版本修复
BFC
找到项目中 uni_modules/uni-transition/components/uni-transition/uni-transition.vue,参照 pull 949 改动,临时修复此问题