<template> <uni-forms-item label="性别" name="sex"> <uni-data-select v-model="formData.sex" :localdata="basicData.sex" /> </uni-forms-item> </template> <script setup> import { ref, reactive, computed } from "vue" import { onLoad } from "@dcloudio/uni-app" import { getBasic, uploadFile } from "@/api/app" import useUserStore from "@/stores/user" const userStore = useUserStore() const userInfo = computed(() => userStore.userInfo) // 基础配置数据 const basicData = ref([]) // 表单数据 const formData = reactive({}) // 页面载入事件 onLoad(async () => { // 请求基础数据 basicData.value = await getBasic({ names: [ "sex", "ethnic", "political_status", "education", "job_title", "staff_type", "personnel_category", "special_operations_staff", "security_manager", "safety_committee_duties", "emergency_plan_preparers", "emergency_command", "emergency_team_duties", "yes_no" ] }) // 页面赋值 formData.head_img = [userInfo.value.head_img] formData.true_name = userInfo.value.true_name formData.mobile = userInfo.value.mobile formData.sex = userInfo.value.sex }) </script> 问题: 为什么页面sex没有赋值成功?
<template> <uni-forms-item label="性别" name="sex"> <uni-data-select v-model="formData.sex" :localdata="basicData.sex" /> </uni-forms-item> </template> <script setup> import { ref, reactive, computed } from "vue" import { onLoad } from "@dcloudio/uni-app" import { getBasic, uploadFile } from "@/api/app" import useUserStore from "@/stores/user" const userStore = useUserStore() const userInfo = computed(() => userStore.userInfo) // 基础配置数据 const basicData = ref([]) // 表单数据 const formData = reactive({}) // 页面载入事件 onLoad(async () => { // 请求基础数据 basicData.value = await getBasic({ names: [ "sex", "ethnic", "political_status", "education", "job_title", "staff_type", "personnel_category", "special_operations_staff", "security_manager", "safety_committee_duties", "emergency_plan_preparers", "emergency_command", "emergency_team_duties", "yes_no" ] }) // 页面赋值 formData.head_img = [userInfo.value.head_img] formData.true_name = userInfo.value.true_name formData.mobile = userInfo.value.mobile formData.sex = userInfo.value.sex }) </script> 问题: 为什么页面sex没有赋值成功?
<template>
<uni-forms-item label="性别" name="sex">
<uni-data-select v-model="formData.sex" :localdata="basicData.sex" />
</uni-forms-item>
</template>
<script setup>
import { ref, reactive, computed } from "vue"
import { onLoad } from "@dcloudio/uni-app"
import { getBasic, uploadFile } from "@/api/app"
import useUserStore from "@/stores/user"
const userStore = useUserStore()
const userInfo = computed(() => userStore.userInfo)
// 基础配置数据
const basicData = ref([])
// 表单数据
const formData = reactive({})
// 页面载入事件
onLoad(async () => {
// 请求基础数据
basicData.value = await getBasic({
names: [
"sex",
"ethnic",
"political_status",
"education",
"job_title",
"staff_type",
"personnel_category",
"special_operations_staff",
"security_manager",
"safety_committee_duties",
"emergency_plan_preparers",
"emergency_command",
"emergency_team_duties",
"yes_no"
]
})
// 页面赋值
formData.head_img = [userInfo.value.head_img]
formData.true_name = userInfo.value.true_name
formData.mobile = userInfo.value.mobile
formData.sex = userInfo.value.sex
})
</script>
问题: 为什么页面sex没有赋值成功?

用户857365697
2023年10月17日
|
浏览 211
前端
根据你提供的代码片段,我们可以看到 formData.sex 的赋值是从 userInfo.value.sex 获取的。可能的原因是 userInfo.value.sex 的值为空或未定义,导致 formData.sex 没有成功赋值。
要解决这个问题,你可以检查以下几点:
-
确保
userInfo.value.sex有一个有效的值。你可以在页面载入事件中打印userInfo.value.sex的值来确认。 -
确保
userInfo对象中包含sex属性,并且它的值是正确的。 -
如果
userInfo.value.sex的值为空或未定义,你可以尝试在表单数据初始化之前设置一个默认值,或者确保userInfo.value.sex在页面载入之前被正确赋值。
如果以上解决方案无法解决问题,请提供更多关于 userInfo 对象和 getBasic 函数的代码细节,以便我们更好地帮助你找到问题所在。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
