gpt4 book ai didi

javascript - 使用 ng 表进行内联行编辑

转载 作者:行者123 更新时间:2023-11-30 07:58:44 26 4
gpt4 key购买 nike

大家好,

我正在尝试使用 ng 表实现内联行编辑

当我点击编辑图标然后我更改了值然后我点击保存图标我开始低于错误

TypeError: 无法读取未定义的属性 'untrack'

请找plunker Inline row edit using ng table for details coding

<table
class="alignment table table-striped table table-bordered table-hover table-condensed editable-table demoTable"
ng-table="tableParams" ng-show="showTable" ng-form="tableForm" demo-tracked-table="tableTracker">
<colgroup>
<col width="45%" />
<col width="45%" />
<col width="10%" />

</colgroup>

<tr ng-repeat="row in $data" ng-form="rowForm" demo-tracked-table-row="row">

<td data-title="'INR Rate'" ng-switch="row.isEditing" ng-class="inrRate.$dirty ? 'bg-warning' : ''" ng-form="inrRate" demo-tracked-table-cell>
<span ng-switch-default class="editable-text">{{row.INRRate}}</span>
<div class="controls" ng-class="inrRate.$invalid && inrRate.$dirty ? 'has-error' : ''" ng-switch-when="true">
<input type="number" name="inrRate" ng-model="row.INRRate" class="editable-input form-control input-sm" required />
</div>
</td>

最佳答案

我遇到了同样的问题,但在调查示例代码后没有运气。我修改了代码,到现在为止一切正常。

  1. 不要使用“ngTableSimpleList”。它只是作者在示例代码中定义的表的数据集。
  2. 似乎可以安全地删除 tableTracker.untrack(row)。
  3. 但是,var originalRow = resetRow(row, rowForm); 会得到一个 nil 值,这会导致该值无法正确恢复,因为 _.findWhere 是一种异步方法。所以我用 for 循环替换它。

    function resetRow(row, rowForm) {
    row.isEditing = false;
    rowForm.$setPristine();
    //self.tableTracker.untrack(row);
    for ( let i in originalData){
    if(originalData[i].id === row.id){
    return originalData[i]
    }
    }
    //return _.findWhere(originalData, function(r) {
    // return r.id === row.id;
    //});
    }

关于javascript - 使用 ng 表进行内联行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33438161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com