Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angular2中使用可编辑表格_Angular_Typescript - Fatal编程技术网

如何在angular2中使用可编辑表格

如何在angular2中使用可编辑表格,angular,typescript,Angular,Typescript,我正在尝试在angular中使用可编辑表,但没有找到任何好文章,有人可以推荐一些。谢谢。 我试过这个 <ng-table [config]="config.sorting" (tableChanged)="onChangeTable(config)" [rows]="rows" [columns]="columns" > </ng-table> 这是我的列和行 rows: Array<any> = [];

我正在尝试在angular中使用可编辑表,但没有找到任何好文章,有人可以推荐一些。谢谢。 我试过这个

<ng-table [config]="config.sorting"
          (tableChanged)="onChangeTable(config)" 
          [rows]="rows" [columns]="columns" >
</ng-table>

这是我的列和行

 rows: Array<any> = [];
  columns: Array<any> = [
    {title: 'Name', name: 'accountname'},
    {title: 'Email', name: 'email', sort: false},
    {title: 'Phone', name: 'phone', sort: 'asc'},
  ];
行:数组=[];
列:数组=[
{title:'Name',Name:'accountname'},
{title:'Email',name:'Email',sort:false},
{标题:'Phone',名称:'Phone',排序:'asc'},
];

但是我希望每个列上都有编辑和删除按钮。我怎样才能做到这一点呢?

如果你想为angular2提供一个好的datatable插件,我可以推荐Priming,他们有一个datatable,我们在项目中使用,它非常好地支持可编辑、排序和过滤。Priming是Angular 2的丰富UI组件的集合。


如果你想为angular2提供一个好的datatable插件,我可以推荐Priming,他们有一个datatable,我们在项目中使用,它非常好地支持可编辑、排序和过滤。Priming是Angular 2的丰富UI组件的集合。


你能看看这个吗,这是一个使用指令的好例子

这是他使用的指令:

@Directive({
selector: '[contenteditableModel]'
})
export class ContenteditableModelDirective implements OnChanges {

  @Input('contenteditableModel')
  public model: any;

  @Output('contenteditableModelChange')
  public update = new EventEmitter();

  private _lastViewModel: any;

  constructor(private elRef: ElementRef) {}

  public ngOnChanges(changes: SimpleChanges): void {
     if(this._lastViewModel !== changes['model'].currentValue){
        this._lastViewModel = this.model;
        this._refreshView();
     }
  }

  @HostListener('blur')
  public onBlur() {
    var value = this.elRef.nativeElement.innerText;
    this._lastViewModel = value;
    this.update.emit(value);
  }

  private _refreshView() {
    this.elRef.nativeElement.innerText = this.model;
  }
}
这就是如何使用它:

<h2 contenteditable="true" [(contenteditableModel)]="text"></h2>

你能看看这个吗,这是一个使用指令的好例子

这是他使用的指令:

@Directive({
selector: '[contenteditableModel]'
})
export class ContenteditableModelDirective implements OnChanges {

  @Input('contenteditableModel')
  public model: any;

  @Output('contenteditableModelChange')
  public update = new EventEmitter();

  private _lastViewModel: any;

  constructor(private elRef: ElementRef) {}

  public ngOnChanges(changes: SimpleChanges): void {
     if(this._lastViewModel !== changes['model'].currentValue){
        this._lastViewModel = this.model;
        this._refreshView();
     }
  }

  @HostListener('blur')
  public onBlur() {
    var value = this.elRef.nativeElement.innerText;
    this._lastViewModel = value;
    this.update.emit(value);
  }

  private _refreshView() {
    this.elRef.nativeElement.innerText = this.model;
  }
}
这就是如何使用它:

<h2 contenteditable="true" [(contenteditableModel)]="text"></h2>


显示代码。您尝试了什么,出现了什么错误。Sefa,编辑了我的代码。可能重复(相同op)的显示代码。您尝试了什么,出现了什么错误。Sefa,编辑了我的代码。如果您有一个现有的应用程序,请运行以下命令将其下载到您的项目中,npm上可能有重复的(相同的op)预处理。npm install Priming--保存是否需要安装primeUI才能运行Priming?我在DataTable或任何其他控件未成功运行时安装了它?您只需安装Priming即可使用这些控件。使用以下NPM命令。npm install priming——如果您有一个现有的应用程序,那么可以在npm上使用savepriming,运行以下命令将其下载到您的项目中。npm install Priming--保存是否需要安装primeUI才能运行Priming?我在DataTable或任何其他控件未成功运行时安装了它?您只需安装Priming即可使用这些控件。使用以下NPM命令。npm安装启动--保存