【发布时间】:2020-01-02 10:49:42
【问题描述】:
我需要根据对象中某个键的值来过滤一个数组,但是我得到一个错误:
Property 'sort' does not exist on type 'Object'
我预计如果panel.sort 是true,则将呈现数组worktop。否则,将呈现数组groupA。
我做错了什么?为什么我的sort 键不可见?
export default class PanelSettings extends Vue {
panels: Array < Object > = [{
id: 0,
name: "one",
sort: true
},
{
id: 1,
name: "two",
sort: true
},
{
id: 2,
name: "three",
sort: true
},
{
id: 3,
name: "four",
sort: true
},
{
id: 4,
name: "five",
sort: true
},
{
id: 5,
name: "six",
sort: true
},
{
id: 6,
name: "seven",
sort: false
},
{
id: 7,
name: "eight",
sort: false
},
{
id: 8,
name: "nine",
sort: false
},
{
id: 9,
name: "ten",
sort: false
},
{
id: 10,
name: "eleven",
sort: false
}
];
get worktop() {
return this.panels.filter(function(panel) {
return panel.sort == true;
});
};
get groupA() {
return this.panels.filter(function(panel) {
return panel.sort == false;
});
};
}
<ul>
<li v-for="panel in worktop" :key="panel.id" class="mb-3 mr-8">
<div>
<tw-pannel class="text-danger button">
<tw-icon name="minus" />
<span>{{panel.name}}</span>
</tw-pannel>
</div>
</li>
</ul>
<ul>
<li v-for="panel in groupA" :key="panel.id" class="mb-3 mr-8">
<div>
<tw-pannel class="text-primary">
<tw-icon name="plus" />
<span>{{panel.name}}</span>
</tw-pannel>
</div>
</li>
</ul>
【问题讨论】:
标签: arrays typescript vue.js