【问题标题】:Angular table-sort and drag and drop table row conflict角表排序和拖放表行冲突
【发布时间】:2016-09-22 13:34:12
【问题描述】:

我在我的项目中使用angular table-sortangular drag-drop。当我拖动一行并尝试将其放到另一行时,表格排序会强制将行排序到它们之前的位置。

如果我删除表格排序指令ts-repeat,那么拖放就可以完美地工作。我还需要默认表列排序 "Age" 升序。为了更好地理解,我在 plunker 上做了一个例子。 https://plnkr.co/edit/pHlTufpayFAB4he8bN6y

那么,拖放一行时如何防止表格排序?

谁能帮我解决这个问题?我真的很感激。 提前致谢。

【问题讨论】:

    标签: javascript angularjs drag-and-drop tablesort


    【解决方案1】:

    我认为您应该摆脱ts-repeat,并且只对数据进行初始排序(在您的服务/控制器中)。这不是一个错误,这是一个功能。想象一下,您删除一个元素,然后将其重新添加到已排序的表中。您希望它保持排序,对吗?

    【讨论】:

    • 但我也需要ts-repeat。因为最初对数据进行排序是客户的要求,然后根据需要使用不同的列进行排序。因此,为此,我必须使用ts-repeat。并且在添加新行时,它也在我的项目中进行了排序(为简单起见没有包括它)。所以,我必须在同一张表中同时使用ts-repeatdrag-and-drop
    • 现在我明白了,你希望能够排序,但也可以手动修改顺序。我想你可以试试lorenzofox3.github.io/smart-table-website,它的功能更丰富一些。如果进行了手动更改,我想您可以关闭排序。
    【解决方案2】:

    您可以尝试使用Angular ui-sortable 而不是角度拖放。我认为它对你有用。

    【讨论】:

      【解决方案3】:

      PrimeNG Table 通过拖放提供行重新排序,但您需要即将推出的 5.2.1。

      https://www.primefaces.org/primeng/#/table/reorder

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-19
        • 1970-01-01
        • 2010-09-10
        • 2018-09-11
        • 2019-04-21
        • 2023-03-19
        • 2012-05-31
        • 1970-01-01
        相关资源
        最近更新 更多