簡體   English   中英

ng2 Dragula和Angular管道

[英]ng2 Dragula and Angular pipes

我有一個數據庫表,我用Dragula對它進行了排序。 表行可以拖放,一切似乎都按設計工作。 問題是我有一個自定義管道應用於每行中的三個單元格值,以將其數據庫值更改為人類可讀的值(即:'N'到'Normal'和'O'到'Off-line',等等)。 當我應用管道時,表格正確加載和顯示; 管道按預期工作。 但是,當我拖放時,在drop事件中,表斷開並且應用了管道的值變為空白。

當我刪除管道時,表格按預期運行,但這些值當然不是人類可讀的。

我的HTML與dragula指令到位:

    <tbody class='wrapper' dragula='RIDRAG' id="left">
      <tr class='container' *ngFor="let ri of this.riRow; let i = index">
        <td><img src="./assets/images/Hamburger_icon.svg.png" style="width: 15px; padding-left: 5px;"></td>
        <td>{{i + 1}}</td>
        <td>{{ri.ri}}</td>
        <td>{{ri.classification}}</td>
        <td>{{ri.type}}</td>
        <td>{{ri.shd}}</td>
        <td>
          <app-edit-ri-row [noGroupFlag]="this.noGroupFlag || disabledCheck()"  (editEmit)="receiveEditEmit($event)" [riRow]="ri"></app-edit-ri-row>
          <button style="width:50%;" type="submit" name="delete" [disabled]="this.noGroupFlag || disabledCheck() === true"
            class="btn btn-danger rounded-0" (click)="removeRiRow(i)">
            <fa-icon [icon]="['fas', 'trash-alt']" size="med"></fa-icon>&nbsp;
          </button>
        </td>
      </tr>
    </tbody>

我的ts組件顯示了我如何創建dragula實例並解析它返回給我的數據。

    this.dragula.createGroup('RIDRAG', {
      removeOnSpill: false,
      revertOnSpill: true
    });
    this.subs.add(this.dragula.drop('RIDRAG')
      .pipe(map(data => {
        this.varX = [];
        this._STRINGARRAY = [];
        this._XARRAY = [];
        this._CHILDREN = data.source.children;
        this._xARRAY = Object.values(this._CHILDREN);
        for (let item in this._RIARRAY) {
          this._STRINGARRAY.push(this._RIARRAY[item].innerText);
        }
        let index: number = 0;
        for (let item in this._STRINGARRAY) {
          let tempString = this._STRINGARRAY[item].trim();
          this._XARRAY.push(tempString.split('\t'));
        }
        for (let item = 0; item < this._XARRAY.length; item++) {
          let _SINGLETON: object;
          if (this._XARRAY[item][1]) {
            this._VAR2 = this._XARRAY[item][1];
            this._VAR3 = this._XARRAY[item][2];
            this._VAR4 = this._XARRAY[item][3];
            this._VAR5 = this._XARRAY[item][4];
            _SINGLETON = {
              var1: index + 1,
              var2: this._VAR2,
              var3: this._VAR3,
              var4: this._VAR4,
              var5: this._VAR5
            };
            index++;
            this.bar.push(_SINGLETON);
          }
        }
        this.foo.emit(this.riRow);
      }))
      .subscribe()
    );

是否可以使用帶有Dragula的角管?

可以使用帶有Dragula的角管。 需要注意的部分是Angular Pipe正在讀取Dragula對象返回的數據,該數據隨每個drop一起被讀取和轉換,因此drop事件時數據的狀態是導致我的特定錯誤的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM