如何在ui-grid单元内的文本输入中使用get / set方法

时间:2019-05-31 18:50:01

标签: angularjs typescript ui-grid

我有一列带有可编辑单元格的列。该单元格显示一个运算符,例如“>”“ <”或“ =”。但是数据模型用0、1、2等表示。

因此,我需要一种在显示时将数据从其数字表示形式转换为与操作员对应的方式,然后在保存数据时需要将其转换回去。

环顾四周后,似乎可以通过ng-model使用get / set函数了。但是我做错了。网上有很少的例子。

我的单元格模板如下:

<div class="ui-grid-cell-contents">
   <input type="text" class="sample form-control" ng-model="row.entity.operator" ng-model-getter-setter="get=grid.appScope.listCtrl.getOperator(row.entity.operator);set=grid.appScope.listCtrl.setOperator(row.entity.operator)">
</div>

但是它什么也没做。该单元格仅显示ng-model值。正如我说的那样,我什至在网上都找不到使用get和set函数的好例子,因此任何帮助将不胜感激!

我还将包括get和set函数:

public getOperator(operator: string): string {
        switch (operator) {
            case "0": {
                return "";
            }
            case "1": {
                return ">";
            }
            case "2": {
                return "<";
            }              
            case "3": {
                return "=";
            }
            default: {
                return "";
            }
        }
    }
    public setOperator(operator: string): string {
        switch (operator) {
            case "": {
                return "0";
            }
            case ">": {
                return "1";
            }
            case "<": {
                return "2";
            }
            case "=": {
                return "3";
            }
            default: {
                return "0";
            }
        }
    }

0 个答案:

没有答案