vueform/multiselect不作为单个文件组件工作



在尝试实现vueform/multiselect时,我遇到了非常奇怪的错误。我发现的大多数示例都不使用单个文件组件,这就是我想要采用的方法。我正在尝试将MultiSelect组件导入另一个名为"AgentDetails"的组件中。我正在使用VUE-CLI和VUE 3。

自定义选择.vue

<template>
<div>
<Multiselect v-model="value" :options="options" />
</div>
</template>
<script>
import Multiselect from "@vueform/multiselect";
export default {
components: {
Multiselect
},
data() {
return {
value: "Batman",
options: ["Batman", "Robin", "Joker"]
};
}
};
</script>
<style src="@vueform/multiselect/themes/default.css"></style>

AgentDetails.vue(此处是我要插入CustomSelect组件的位置(

<template>
<CustomSelect />
</template>
<script>
import { mapState, mapActions } from "vuex";
import CustomSelect from "@/components/CustomSelect.vue";
export default {
components: {
CustomSelect
}
};
</script>

我不断收到这些错误:

execution of setup function    at <Multiselect modelValue=null
onUpdate:modelValue=fn options= (3) ["Batman", "Robin", "Joker"] >   
at <CustomSelect>    at <AgentDetails>    at <AgentDetails
agentEmail="alexandra.blanco@rubiko.tech"
onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< null > >    at
<RouterView>    at <App> warn @ runtime-core.esm-bundler.js?5c40:38
logError @ runtime-core.esm-bundler.js?5c40:211 handleError @
runtime-core.esm-bundler.js?5c40:203 callWithErrorHandling @
runtime-core.esm-bundler.js?5c40:157 setupStatefulComponent @
runtime-core.esm-bundler.js?5c40:6224 setupComponent @
runtime-core.esm-bundler.js?5c40:6185 mountComponent @
runtime-core.esm-bundler.js?5c40:3960 processComponent @
runtime-core.esm-bundler.js?5c40:3936 patch @
runtime-core.esm-bundler.js?5c40:3547 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 componentEffect @
runtime-core.esm-bundler.js?5c40:4053 reactiveEffect @
reactivity.esm-bundler.js?a1e9:42 effect @
reactivity.esm-bundler.js?a1e9:17 setupRenderEffect @
runtime-core.esm-bundler.js?5c40:4018 mountComponent @
runtime-core.esm-bundler.js?5c40:3976 processComponent @
runtime-core.esm-bundler.js?5c40:3936 patch @
runtime-core.esm-bundler.js?5c40:3547 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 componentEffect @
runtime-core.esm-bundler.js?5c40:4053 reactiveEffect @
reactivity.esm-bundler.js?a1e9:42 effect @
reactivity.esm-bundler.js?a1e9:17 setupRenderEffect @
runtime-core.esm-bundler.js?5c40:4018 mountComponent @
runtime-core.esm-bundler.js?5c40:3976 processComponent @
runtime-core.esm-bundler.js?5c40:3936 patch @
runtime-core.esm-bundler.js?5c40:3547 mountChildren @
runtime-core.esm-bundler.js?5c40:3736 mountElement @
runtime-core.esm-bundler.js?5c40:3659 processElement @
runtime-core.esm-bundler.js?5c40:3631 patch @
runtime-core.esm-bundler.js?5c40:3544 componentEffect @
runtime-core.esm-bundler.js?5c40:4053 reactiveEffect @
reactivity.esm-bundler.js?a1e9:42 effect @
reactivity.esm-bundler.js?a1e9:17 setupRenderEffect @
runtime-core.esm-bundler.js?5c40:4018 mountComponent @
runtime-core.esm-bundler.js?5c40:3976 processComponent @
runtime-core.esm-bundler.js?5c40:3936 patch @
runtime-core.esm-bundler.js?5c40:3547 componentEffect @
runtime-core.esm-bundler.js?5c40:4117 reactiveEffect @
reactivity.esm-bundler.js?a1e9:42 callWithErrorHandling @
runtime-core.esm-bundler.js?5c40:154 flushJobs @
runtime-core.esm-bundler.js?5c40:364 Promise.then (async) queueFlush @
runtime-core.esm-bundler.js?5c40:264 queueJob @
runtime-core.esm-bundler.js?5c40:258 run @
reactivity.esm-bundler.js?a1e9:183 trigger @
reactivity.esm-bundler.js?a1e9:189 set value @
reactivity.esm-bundler.js?a1e9:721 finalizeNavigation @
vue-router.esm-bundler.js?6c02:2585 eval @
vue-router.esm-bundler.js?6c02:2458 Promise.then (async)
pushWithRedirect @ vue-router.esm-bundler.js?6c02:2429 push @
vue-router.esm-bundler.js?6c02:2369 navigate @
vue-router.esm-bundler.js?6c02:1997 callWithErrorHandling @
runtime-core.esm-bundler.js?5c40:154 callWithAsyncErrorHandling @
runtime-core.esm-bundler.js?5c40:163 invoker @
runtime-dom.esm-bundler.js?830f:292 Show 36 more frames
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Unhandled error during
execution of scheduler flush. This is likely a Vue internals bug.
Please open an issue at
https://new-issue.vuejs.org/?repo=vuejs/vue-next    at <Multiselect
modelValue=null onUpdate:modelValue=fn options= (3) ["Batman",
"Robin", "Joker"] >    at <CustomSelect>    at <AgentDetails>    at
<AgentDetails agentEmail="alexandra.blanco@rubiko.tech"
onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< null > >    at
<RouterView>    at <App> warn @ runtime-core.esm-bundler.js?5c40:38
logError @ runtime-core.esm-bundler.js?5c40:211 handleError @
runtime-core.esm-bundler.js?5c40:203 callWithErrorHandling @
runtime-core.esm-bundler.js?5c40:157 flushJobs @
runtime-core.esm-bundler.js?5c40:364 Promise.then (async) queueFlush @
runtime-core.esm-bundler.js?5c40:264 queueJob @
runtime-core.esm-bundler.js?5c40:258 run @
reactivity.esm-bundler.js?a1e9:183 trigger @
reactivity.esm-bundler.js?a1e9:189 set value @
reactivity.esm-bundler.js?a1e9:721 finalizeNavigation @
vue-router.esm-bundler.js?6c02:2585 eval @
vue-router.esm-bundler.js?6c02:2458 Promise.then (async)
pushWithRedirect @ vue-router.esm-bundler.js?6c02:2429 push @
vue-router.esm-bundler.js?6c02:2369 navigate @
vue-router.esm-bundler.js?6c02:1997 callWithErrorHandling @
runtime-core.esm-bundler.js?5c40:154 callWithAsyncErrorHandling @
runtime-core.esm-bundler.js?5c40:163 invoker @
runtime-dom.esm-bundler.js?830f:292 multiselect.js?a306:1 Uncaught (in
promise) TypeError: Cannot read property 'value' of undefined
at re (multiselect.js?a306:1)
at q (multiselect.js?a306:1)
at setup (multiselect.js?a306:1)
at callWithErrorHandling (runtime-core.esm-bundler.js?5c40:154)
at setupStatefulComponent (runtime-core.esm-bundler.js?5c40:6224)
at setupComponent (runtime-core.esm-bundler.js?5c40:6185)
at mountComponent (runtime-core.esm-bundler.js?5c40:3960)
at processComponent (runtime-core.esm-bundler.js?5c40:3936)
at patch (runtime-core.esm-bundler.js?5c40:3547)
at mountChildren (runtime-core.esm-bundler.js?5c40:3736)```

好的,弄清楚发生了什么,为了让多选工作,你需要在组件数据上有一个特定的对象结构,如果没有,Vue不会实例化组件,你会得到很多奇怪的错误,这里有一个例子:

options: {
value: [],
options: [
{ value: "batman", label: "Batman" },
{ value: "robin", label: "Robin" },
{ value: "joker", label: "Joker" }
]
}

相关内容

  • 没有找到相关文章

最新更新