传递许多属性类星体 select

Passing many attributes quasar select

我在创建组件周期时收到这些数据:

{title: ‘any title’, type: ‘medical’, id: ‘mongo objectid here’}

然后我将我的 q-select 标题和 ID 传递给它。但是,如何在我的 select 的更改事件中获得第三个 attribute/parameter 来获取类型值? 示例:我想在 select 的更改事件中获取 selected 选项的值,并在某处获取类型。换句话说,就是这样的:

<select>
   <option value="any value" type="medical">Any title </option>
   <option value="any value 2" type="child">Another title here </option>
</select>

您可以使 value 成为包含类型和 ID 的对象。像这样:

data () {
    selectOptions: [{
        label: yourInitialObject.title,
        value: {
           id: yourInitialObject.id,
           type: yourInitialObject.type
        }
    }]
}

然后像这样与 q-select 一起使用:

<q-select :options="selectOptions" v-model="selectedOption" @input="onSelectionChanged"/>

@input 事件将新值传递给您选择的方法,您可以在其中访问该类型,或者您只需使用绑定的 v-model:

onSelectionChanged: function (newValue) {
    console.log(newValue.id)
    console.log(newValue.type)
}

这可能不是最干净的解决方案,但它完成了工作。或者,您可以将 value 定义为 id(因为它是唯一的),然后如果您需要 type,则在原始数组中进行搜索。例如,选项数组可以通过计算 属性 创建。