vue.js - '[Object object]' 在 Vue.js 数据列表中显示而不是标签
问题描述
我正在使用<datalist>
下拉菜单在我们的项目中显示组名。
<data-list
ref="groupName"
name="groupName"
label="Groups: "
:options="groupList"
></data-list>
.....
methods:{
groupList(){
return this.$store.getters['Groups/getGroups']
}
}
但这显示在我的 UI 中:
我实际上希望下拉菜单显示该label
字段,这是一个组名,我会得到它的值。返回值的结构如下所示:
[
{label: "test", value: 14},
{label: "Test1", value: 16},
{label: "Test2", value: 17},
{label: "Test3", value: 18},
]
解决方案
似乎错误在您的data-list
组件中。很可能你有这样的事情:
<!-- XXX: DON'T DO THIS -->
<option v-for="option in options" :value="option">{{option}}</option>
Vue.component('data-list', {
props: ['label', 'options'],
template: `
<div>
<label for="myinput">{{label}}</label>
<input id="myinput" list="mydata">
<datalist id="mydata">
<!-- XXX: DON'T DO THIS -->
<option v-for="option in options" :value="option">
{{option}}
</option>
</datalist>
</div>`,
});
new Vue({
el: '#app',
data() {
return {
groupList: [
{label: "test", value: 14},
{label: "Test1", value: 16},
{label: "Test2", value: 17},
{label: "Test3", value: 18},
]
};
}
})
<script src="https://unpkg.com/vue@2.5.17"></script>
<div id="app">
<data-list label="Groups: " :options="groupList"></data-list>
</div>
但您实际上需要将 to 的值<option>
及其option.value
内部文本设置为{{option.label}}
(匹配您的项目的数据结构):
<option v-for="option in options" :value="option.value">{{option.label}}</option>
Vue.component('data-list', {
props: ['label', 'options'],
template: `
<div>
<label for="myinput">{{label}}</label>
<input id="myinput" list="mydata">
<datalist id="mydata">
<option v-for="option in options" :value="option.value">
{{option.label}}
</option>
</datalist>
</div>`,
});
new Vue({
el: '#app',
data() {
return {
groupList: [
{label: "test", value: 14},
{label: "Test1", value: 16},
{label: "Test2", value: 17},
{label: "Test3", value: 18},
]
};
}
})
<script src="https://unpkg.com/vue@2.5.17"></script>
<div id="app">
<data-list label="Groups: " :options="groupList"></data-list>
</div>
推荐阅读
- c# - 为什么我不能让 Automapper 参数化工作
- richfaces - 更改rich的背景颜色:选择richfaces中的项目
- json - 无法读取从 json 文件导入的图像 url
- typescript - VSCode 中的可选链接运算符支持
- reactjs - React,函数不加载数据
- wpf - 组合框用户手动输入和选择更改
- xml - xslt:从生成的表中替换节点值
- azure - azure runbook 使用 powershell 工作流在表格中发送电子邮件
- node.js - 将变量从 app.get 传递到 pug 视图
- swift - Swift4 - 带有文本字段的多个警报 - 完成处理程序