Open
Description
uni-app中使用vue3 setup写法编译到微信小程序表单验证ref获取不到
<template>
<uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData">
<uni-forms-item label="姓名" required name="name">
<uni-easyinput v-model="valiFormData.name" placeholder="请输入姓名" />
</uni-forms-item>
<button type="primary" size="mini" @click="onSubmit">提交</button>
</uni-forms>
</ template>
<script>
import { ref, reactive } from 'vue'
export default {
setup(props,context) {
const valiForm = ref(null)
const valiFormData = reactive({
name: '',
})
const rules = reactive({
name: {
rules: [{
required: true,
errorMessage: '姓名不能为空'
}]
},
})
const onSubmit = () => {
valiForm.value.validate().then(res => {
console.log("values", valiFormData);
}).catch(err => {
console.log('err', err);
})
}
return {
onSubmit,
rules,
valiForm,
valiFormData,
}
}
}
</script>
按照vue3官方按照获取ref代码测试
<template>
<div ref="root">This is a root element</div>
</template>
<script>
import { ref, onMounted } from 'vue'
export default {
setup() {
const root = ref(null)
onMounted(() => {
// DOM 元素将在初始渲染后分配给 ref
console.log(root.value) // <div>This is a root element</div>
})
return {
root
}
}
}
</script>
编译在微信小程序里面console.log()输出的内容依旧是null, 在h5测试结果正常
Metadata
Metadata
Assignees
Labels
No labels