Я хотел создать простую навигационную панель для моей домашней страницы. В качестве языка я использовал Typescript (версия 3.8.3) . Я использовал исходный код Reactprime в качестве шаблона (код не изменен, только копирование и вставка). С Webstorm (версия2020.1) код работал нормально. Но с VS Code (версия 1.44.2) я получил ошибку Property 'items' does not exist on type 'Readonly<{}>'.ts(2339)
. После того, как я исправил эту ошибку, новые ошибки продолжали появляться. Я надеюсь, что кто-то может помочь мне и сказать мне, что я должен делать с VS Code, что он, как Webstorm, не показывает ошибок там, где их нет.
import React, {Component} from 'react';
import {Link} from 'react-router-dom';
import {Menubar} from 'primereact/menubar';
import {Button} from 'primereact/button';
import {InputText} from "primereact/inputtext";
export class Navbar extends Component {
constructor(props: any) {
super(props);
this.state = {items:[
{
label:'File',
icon:'pi pi-fw pi-file',
items:[
{
label:'New',
icon:'pi pi-fw pi-plus',
items:[
{
label:'Bookmark',
icon:'pi pi-fw pi-bookmark'
},
{
label:'Video',
icon:'pi pi-fw pi-video'
},
]
},
{
label:'Delete',
icon:'pi pi-fw pi-trash'
},
{
separator:true
},
{
label:'Export',
icon:'pi pi-fw pi-external-link'
}
]
},
{
label:'Edit',
icon:'pi pi-fw pi-pencil',
items:[
{
label:'Left',
icon:'pi pi-fw pi-align-left'
},
{
label:'Right',
icon:'pi pi-fw pi-align-right'
},
{
label:'Center',
icon:'pi pi-fw pi-align-center'
},
{
label:'Justify',
icon:'pi pi-fw pi-align-justify'
},
]
},
{
label:'Users',
icon:'pi pi-fw pi-user',
items:[
{
label:'New',
icon:'pi pi-fw pi-user-plus',
},
{
label:'Delete',
icon:'pi pi-fw pi-user-minus',
},
{
label:'Search',
icon:'pi pi-fw pi-users',
items:[
{
label:'Filter',
icon:'pi pi-fw pi-filter',
items:[
{
label:'Print',
icon:'pi pi-fw pi-print'
}
]
},
{
icon:'pi pi-fw pi-bars',
label:'List'
}
]
}
]
},
{
label:'Events',
icon:'pi pi-fw pi-calendar',
items:[
{
label:'Edit',
icon:'pi pi-fw pi-pencil',
items:[
{
label:'Save',
icon:'pi pi-fw pi-calendar-plus'
},
{
label:'Delete',
icon:'pi pi-fw pi-calendar-minus'
},
]
},
{
label:'Archieve',
icon:'pi pi-fw pi-calendar-times',
items:[
{
label:'Remove',
icon:'pi pi-fw pi-calendar-minus'
}
]
}
]
},
{
separator:true
},
{
label:'Quit',
icon:'pi pi-fw pi-power-off'
}
]}
}
render() {
return (
<div>
<div className="content-section introduction">
<div className="feature-intro">
<h1>Menubar</h1>
<p>Menubar is a horizontal menu component.</p>
</div>
</div>
<div className="content-section implementation">
<Menubar model={this.state.items}>
<InputText placeholder="Search" type="text"/>
<Button label="Logout" icon="pi pi-power-off" style={{marginLeft:4}}/>
</Menubar>
</div>
</div>
);
}
}