我在我的应用程序中使用 vue-select 并试图阻止在默认值首次加载到 vue-select 输入时触发事件处理程序。
该组件如下所示:
<v-select
multiple
v-model="product.recommended_accessories"
label="name"
:options="accessoryOptions"
@input="saveProduct"
@search="onAccessorySearch">
<template slot="option" slot-scope="option">
<h4>{{ option.name }}</h4>
<h5>{{ option.sku }}</h5>
</template>
</v-select>
如您所见,我想在用户更改此多选中的值时保存产品。它工作正常,但有一个问题。
选择的值与product.recommended_accessories
数据相关联。在应用程序的其他地方,从服务器加载产品,其中包括一个recommended_accessories
属性。加载产品然后触发saveProduct
被调用,因为 vue-select 设置了输入的预选选项,这显然会触发@input
事件。
有没有办法解决?也许我在这里犯了某种设计错误。或者也许我应该使用一个挂钩来绑定事件处理程序,或者设置某种标志,表明产品正在加载并且不应该保存产品。
我只是想避免无缘无故地在产品加载后立即保存产品。