当我确定问题出在哪里时,我确定会踢自己,但我尝试使用vue-select编辑所选项目中的字段。
从本质上讲,我希望修改在组件外部的v模型中传递的内容,并让组件更新所选的项目和视图。选项道具不会改变。
描述问题的最好方法是使用我在codesandbox上发布的示例 在示例中,有一个包含课程名称和证书ID的项目列表(在现实生活中,这是mongodb objectId)。我希望能够选择这些项目之一,并能够通过输入(课程名称)和v-select进行认证来对其进行编辑。 v-select包含可用的具有可读描述的证书的列表(在这种情况下为名称),我希望能够使用下拉框选择所需的证书并填充已编辑的项目条目。
所有这些都很好,但是,当我单击“编辑第二项”时,编辑器部分将更新为所选项的课程名称,但是vue-select不会更新以反映其他所选项。
示例自动选择列表中的第一个项目并显示在“编辑器”部分中,更改课程或“证书”将反映在“项目”部分的屏幕底部。单击“编辑第二个项目”,我希望“课程”字段更改为第2个项目,“证书”下拉列表显示为专业。
希望有人可以引导我去做一些显而易见的事情。
答案 0 :(得分:1)
一种解决方法,直到修复该错误为止,是将您的v模型添加为v选择中的:key属性,如以下线程所示:https://github.com/sagalbot/vue-select/issues/855#issuecomment-510333782
<v-select
v-model="selected"
:options="options"
:key="selected"
:reduce="op => op.id"
/>
答案 1 :(得分:0)
Vue在此处选择作者。这是v3.0中的错误:https://github.com/sagalbot/vue-select/issues/855。
如果您的列表中包含很多项目,那么从选项列表中查找“减少”的值可能是一项昂贵的操作,因此它是在实例化时完成的。不幸的副作用是,对组件外部绑定值的任何更改都不会像您期望的那样下推到组件。
我会尽快在3.1.1中发布补丁。