Метод удаления с помощью кендо-сетки, используя angle и sweetalert2 - PullRequest
1 голос
/ 08 октября 2019

Моя проблема в том, что он ничего не сделал после того, как я попытался связать данные, необходимые для выполнения метода. это только выскакивает конфетка, но когда я нажимаю обе кнопки, ничего не происходит. Любое решение / руководство для этого?

я использую API для выполнения метода, работающего на локальном.

HTML

<kendo-grid
    [kendoGridBinding]="prod"
    [filterable]="true"
    [groupable]="true"
    [sortable]="true"
    [pageSize]="10"
    [pageable]="true"
    [height]="510">
    <kendo-grid-column field="productId" title="Product ID" [width]="70"></kendo-grid-column>
    <kendo-grid-column field="productName" title="Product Name" [width]="120"></kendo-grid-column>
    <kendo-grid-column field="productNumber" [width]="100"></kendo-grid-column>
    <kendo-grid-column field="description" [width]="130"></kendo-grid-column>
    <kendo-grid-column title="command" width="100">
            <ng-template kendoGridCellTemplate let-dataItem>
                <button kendoGridEditCommand [primary]="true">Edit</button>
                <button
                  [swal]="{ title: 'Delete Product', 
                            text: 'this will delete permanently',
                            cancelButtonColor:'#d33',
                            showCancelButton:true,
                            cancelButtonText:'Cancel',
                            confirmButtonColor:'#000000',
                            confirmButtonText:'Delete'}"
                  (confirm)="deleteProduct(dataItem.productId)">
                  Delete
                </button>
            </ng-template>
    </kendo-grid-column>
</kendo-grid>

component.ts

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './product-list.component.html',
  styleUrls: ['./product-list.component.css']
})
@Injectable()
export class ProductListComponent implements OnInit {

  constructor(private http:HttpClient) {}

  prod : any;

  ngOnInit() {
    this.listProduct();
  }

  getProduct(){
    return this.http.get("http://localhost:51024/api/Product/GetAllProduct");
  }

  listProduct() {
    this.getProduct().subscribe((data) => this.prod=data);
  }

  public deleteProduct(productId: number): void {
    this.http.delete("http://localhost:51024/api/Product/"+productId);
  }
}

1 Ответ

0 голосов
/ 08 октября 2019

Я думаю, вам нужно подписаться на удаление. В противном случае оно не выполняется.

public deleteProduct(productId: number): void {
   this.http.delete("http://localhost:51024/api/Product/"+productId)
   .subscribe(response => ...);
}
...