首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng2弯管和角管

ng2弯管和角管
EN

Stack Overflow用户
提问于 2019-04-18 02:04:18
回答 1查看 105关注 0票数 0

我有一个数据库中的值表,我用Dragula使其可排序。可以拖放表格行,一切似乎都像设计的那样工作。问题是,我将一个自定义管道应用于每行中的三个单元格值,以将其数据库值更改为人类可读的值(例如,将“n”更改为“Normal”,将“O”更改为“Off”,等等)。当我应用管道时,表格可以正确加载和显示;管道可以正常工作。但是,当我拖放时,发生drop事件时,表格会断开,应用了管道的值将变为空白。

当我删除管道时,表按预期运行,但值当然不是人类可读的。

我的带有dragula指令的HTML:

代码语言:javascript
复制
    <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实例并解析它返回给我的数据。

代码语言:javascript
复制
    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中使用角管?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 03:05:51

与Dragula一起使用角管是可能的。需要注意的是,Angular Pipe正在读取Dragula对象返回的数据,该数据在每次drop时都会被读取和转换,所以drop事件发生时的数据状态就是导致我的特定错误的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55733562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档