uni-app 快手小程序 无法获取ref
uni-app 快手小程序 无法获取ref
类别 | 信息 |
---|---|
产品分类 | uniapp/小程序 |
PC开发环境 | Windows |
操作系统版本 | windows10 |
HBuilderX类型 | Alpha |
HBuilderX版本 | 4.54 |
工具版本号 | 1.66.0 |
基础库版本 | 1.100.0 |
项目创建方式 | HBuilderX |
示例代码:
<template>
<view class="container">
<view class="main">
<z-paging
ref="paging"
v-model="indexData"
@query="getData"
:fixed="false"
height="100%"
>
</z-paging>
</view>
</view>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const paging = ref()
const indexData = ref<any>({})
const getData = async () => {
try {
console.log(paging.value,'pag')
} catch (error) {
paging.value.complete(false)
}
}
</script>
操作步骤:
<template>
<view class="container">
<view class="main">
<z-paging
ref="paging"
v-model="indexData"
@query="getData"
:fixed="false"
height="100%"
>
</z-paging>
</view>
</view>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const paging = ref()
const indexData = ref<any>({})
const getData = async () => {
try {
console.log(paging.value,'pag')
} catch (error) {
paging.value.complete(false)
}
}
</script>
预期结果:
获取到组件实例
实际结果:
实际paging.value 结果为null
bug描述:
代码中无法获取到 ref ,paging.value的值为null
更多关于uni-app 快手小程序 无法获取ref的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
hello ,更新一下hbuilderx版本看一下
更多关于uni-app 快手小程序 无法获取ref的实战教程也可以访问 https://www.itying.com/category-93-b0.html
<script lang="ts" setup>
import { ref, shallowRef } from "vue";
import { apiHotLists } from "@/api/store";
import CourseList from "@/components/course-list/index.vue";
const paging = shallowRef(); const hotData = ref<any>([]);
const queryList = async (pageNo: number, pageSize: number) => { try { const { lists } = await apiHotLists({ page_no: pageNo, page_size: pageSize, }); console.log(lists); paging.value.complete(lists); } catch (e) { paging.value.complete(false); } }; </script>
这段代码是在分包里面的
这是一个快手小程序特有的ref获取问题。在快手小程序环境中,使用<script setup>
语法时,需要通过特殊方式获取ref:
- 确保组件已正确引入并注册
- 尝试改用传统options API写法:
export default {
data() {
return {
indexData: {}
}
},
methods: {
getData() {
console.log(this.$refs.paging) // 这里应该能获取到实例
}
}
}
- 如果必须使用composition API,可以尝试:
const paging = ref(null)
onMounted(() => {
console.log(paging.value) // 在mounted生命周期获取
})