Я получаю список пользователей из базы данных MySQL для отображения его в <mat-table>
, используя свойство dataSource
:
Ниже приведен метод машинописного ввода getUnitData()
, где я устанавливаю значение dataSource в качестве возвращаемого массива JSON из сценария PHP:
export class RegistrationComponent implements OnInit {
dataSource: MatTableDataSource<units>;
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private auth: AuthApiService) { }
ngOnInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
applyFilter(filterValue: string){
this.dataSource.filter = filterValue.trim().toLowerCase();
if(this.dataSource.paginator)
{
this.dataSource.paginator.firstPage();
}
}
getUnitData(){
this.auth.getUnitDataService().subscribe(
(data)=>
{
this.dataSource = new MatTableDataSource(data);
},
(error)=>
{
}
)
}
}
А вот основной метод из AuthApiService
:
getUnitDataService(){
if(this.checkIsLogin){
this.headerOptions.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
return this.http.get(this.globalVar.getUnitData,{
headers: this.headerOptions
});
}
else{
this.router.navigate(['/login']);
}
}
PHP-скрипт:
public function getUnitData($conn)
{
try{
$sql = "SELECT * FROM unit ORDER BY unit_id DESC";
$getData = $this->conn->prepare($sql);
$getDataResult = $getData->execute();
$getDataSize = $getDataResult->rowCount();
$getDataResult->fetchAll();
return $getDataResult;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
А потом я звоню в другой файл, используя следующий URL: this.globalVar.getUnitData
.
Я получаю следующие ошибки:
1.
[ts] Не удается найти имя «единицы измерения».
2.
Аргумент типа «Объект» не может быть назначен параметру типа
'любой[]'. Тип «Объект» назначается очень немногим другим типам.
Вы хотели использовать вместо этого любой тип?
Свойство «длина» отсутствует в типе «Объект».
Я попытался это решение в стеке, но все еще с той же ошибкой.