【发布时间】:2021-03-17 06:42:39
【问题描述】:
我是 Vue 的新手,我正在使用这个下拉菜单组件 (https://ej2.syncfusion.com/vue/documentation/drop-down-list/data-binding/) 从 json 数组中提取列表项,如下所示:
<template>
<div id="app">
<div id='container'>
<ejs-dropdownlist id='dropdownlist' placeholder='Pick a name' :dataSource='images' :fields='fields'></ejs-dropdownlist>
</div>
<img v-for="image in images" :key="image.url" :src="require('@/assets/pics/' + image.url)">
</div>
</template>
<script>
export default {
data() {
return {
images: [
{
id: 'm1',
name: 'Sample Name',
url: "../assets/pics/samplename.png"
},...
],
fields : {text:'name', value:'id'}
}
}
}
</script>
目前所做的只是通过v-for 循环一次列出所有图像,但我想从下拉菜单中的选定名称中获取 id/url 并将其传递给<img> 标记以下面只显示相应的图像,我该怎么做呢?谢谢!
【问题讨论】:
-
下拉列表如何暴露它的选中项?没有
v-model或事件监听。 -
我很新,所以我不确定这是否是您要问的,但它会使用 fields 属性公开所选项目,其中 name 和 id 值是绑定的
-
fields属性是一种单向绑定,因此它不会随着下拉列表的选择而更新(并且可能仅引用某些字段/列数据)。检查文档后,我发现它支持v-model。我会发布答案
标签: javascript vue.js vuejs2 vue-component syncfusion