Vue 方法 return 属于单个用户的所有属性 returning [object Object]
Vue method to return all properties belonging to a single user returning [object Object]
下面是一个下拉列表,理想情况下应该显示属于特定用户的所有 table 的列表。
<v-select
:items="allTables"
:item-text="tableNames"
return-object
/>
这是allTables的结构。可能有更多或更少取决于用户:
[
{
"id": 3,
"name": "TABLE"
},
{
"id": 4,
"name": "KOP"
}
]
这是显示table姓名的方法:
tableNames() {
this.allTables.forEach(el => {
return element.map(a=>a.name)
});
},
最初是这样的(但是它导致了我在其中一个答案中列出的错误):
tableNames: item => item.name;
控制台日志记录
console.log(el.map(a=>a.name))
在上面的方法中 return 如下所示的数组('TABLE' 是一个 table 的名称,'KOP' 是另一个 table).
这不是 return 任何错误,而是 v-select return [对象对象] 的选项。我不确定我做错了什么,我能问一下为什么 return 这样做吗?
获取所有table的函数:
public function retrieveAllTables()
{
return Auth::user()->client->tables()->get();
}
数据变量:
data: () => ({
allTables: []
}),
API 请求:
getAllTables() {
apiClientGet(
routes["pages.retrieveAllTables"],
null,
response => {
this.allTables.push(response.data.flat());
// console logging this.allTables shows the structure above
}
);
},
问题是 api 请求实际上并没有将响应推送到所有表。
getAllTables() {
apiClientGet(
routes["pages.retrieveAllTables"],
null,
response => {
this.allTables = response.data;
return this.allTables;
}
);
},
我想通了,因为在 beforeMount 中记录 allTables 的控制台在不应该有的情况下返回了一个空数组
下面是一个下拉列表,理想情况下应该显示属于特定用户的所有 table 的列表。
<v-select
:items="allTables"
:item-text="tableNames"
return-object
/>
这是allTables的结构。可能有更多或更少取决于用户:
[
{
"id": 3,
"name": "TABLE"
},
{
"id": 4,
"name": "KOP"
}
]
这是显示table姓名的方法:
tableNames() {
this.allTables.forEach(el => {
return element.map(a=>a.name)
});
},
最初是这样的(但是它导致了我在其中一个答案中列出的错误):
tableNames: item => item.name;
控制台日志记录
console.log(el.map(a=>a.name))
在上面的方法中 return 如下所示的数组('TABLE' 是一个 table 的名称,'KOP' 是另一个 table).
这不是 return 任何错误,而是 v-select return [对象对象] 的选项。我不确定我做错了什么,我能问一下为什么 return 这样做吗?
获取所有table的函数:
public function retrieveAllTables()
{
return Auth::user()->client->tables()->get();
}
数据变量:
data: () => ({
allTables: []
}),
API 请求:
getAllTables() {
apiClientGet(
routes["pages.retrieveAllTables"],
null,
response => {
this.allTables.push(response.data.flat());
// console logging this.allTables shows the structure above
}
);
},
问题是 api 请求实际上并没有将响应推送到所有表。
getAllTables() {
apiClientGet(
routes["pages.retrieveAllTables"],
null,
response => {
this.allTables = response.data;
return this.allTables;
}
);
},
我想通了,因为在 beforeMount 中记录 allTables 的控制台在不应该有的情况下返回了一个空数组