admin管理员组文章数量:1406950
On a Laravel/Vue site I made editor in both edit and insert mode and I pass task
and editMode
parameters:
export default defineComponent({
props: {
task: {
type: Object,
required: false, // In Insert mode property is empty
},
editMode: {
type: Number,
required: true,
},
setup(props) {
let task = ref(props.task)
let editMode = ref(props.editMode === 1)
const form = ref({
id: editMode ? task.value.data.id : '',
title: editMode ? task.value.data.title : '',
...
})
The code above work ok, if editMode
is true
, but otherwise I got error:
Uncaught (in promise) TypeError: task.value is undefined
I suppose that in ? : construction task.value.data.id
is rendered (I hoped no) anyway, even in case editMode
is false
. How can I check it and write it in 1 line of code?
"@inertiajs/vue3": "^2.0.0",
"vue": "^3.4.0"
"element-plus": "^2.9.5"
On a Laravel/Vue site I made editor in both edit and insert mode and I pass task
and editMode
parameters:
export default defineComponent({
props: {
task: {
type: Object,
required: false, // In Insert mode property is empty
},
editMode: {
type: Number,
required: true,
},
setup(props) {
let task = ref(props.task)
let editMode = ref(props.editMode === 1)
const form = ref({
id: editMode ? task.value.data.id : '',
title: editMode ? task.value.data.title : '',
...
})
The code above work ok, if editMode
is true
, but otherwise I got error:
Uncaught (in promise) TypeError: task.value is undefined
I suppose that in ? : construction task.value.data.id
is rendered (I hoped no) anyway, even in case editMode
is false
. How can I check it and write it in 1 line of code?
"@inertiajs/vue3": "^2.0.0",
"vue": "^3.4.0"
"element-plus": "^2.9.5"
Share
Improve this question
edited Mar 8 at 20:29
halfer
20.4k19 gold badges109 silver badges202 bronze badges
asked Mar 7 at 9:37
Petro GromovoPetro Gromovo
2,3019 gold badges54 silver badges126 bronze badges
2 Answers
Reset to default 1I didn't test this but I think it should get rid of that error.
let task = ref(props.task || {})
const form = ref({
id: editMode.value && task.value?.data?.id ? task.value.data.id : '',
title: editMode.value && task.value?.data?.title ? task.value.data.title : '',
})
It's easier just use another object for the insert mode:
Playground
let task = reactive(props.editMode === 1 ? JSON.parse(JSON.stringify(props.task)) : {id: 'new'});
本文标签: javascriptHow to check it and write parameter which can be null in 1 line of codeStack Overflow
版权声明:本文标题:javascript - How to check it and write parameter which can be null in 1 line of code? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744938400a2633330.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论