传递许多属性类星体 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
,则在原始数组中进行搜索。例如,选项数组可以通过计算 属性 创建。
我在创建组件周期时收到这些数据:
{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
,则在原始数组中进行搜索。例如,选项数组可以通过计算 属性 创建。