首页 > 解决方案 > 如何使用 vue-select reduce prop 将值归约为对象

问题描述

能否使用 vue-select 将值缩减为具有特定属性的对象?

我正在尝试做这样的事情:

<v-select 
        multiple 
        :options="locations_ordered" 
        v-model="state.modal.data.locations" 
        label="name" 
        :reduce="loc => {id: loc.id, name: loc.name}"
        >

但它在第一个冒号处引发错误。这里的正确语法是什么?

标签: vue-select

解决方案


根据 Vue docs transforming selections,您reduce可以选择单个键。

在您的示例中,您可以简化为仅返回 id(或名称)。见下文:

<v-select multiple
          :options="locations_ordered"
          v-model="state.modal.data.locations"
          label="name"
          :reduce="loc => loc.id">
</v-select>

如果你想减少到一个更小的类,也许.map()在将它交给vue-select控件之前在列表上运行会更好。


推荐阅读