Функция форматирования SAPUI5 не найдена

Я знаю, что этот вопрос задавался раньше здесь но ответ мне не помог.

Это мой код контроллера:

 sap.ui.define([
        // there's more stuff importet here    
       'project/util/formatter',
    ], function (formatter ) {
       'use strict';
    return BaseController.extend('project.controller.ManualUpload', {

        formatter:formatter,

        onShowErrors: function() {
          //some other stuff happening here

        _.forEach(checkValidations, entry => {
            var errorMessage = oData[entry].ERROR_MSG;
            if(errorMessage) {
                var rowSettingsTemplate = new sap.ui.table.RowSettings({ highlight: "{ path: 'odataDetails>ERROR_MSG', formatter: '.formatter.errorStatus' }" }); 
                backendTable.setRowSettingsTemplate(rowSettingsTemplate);
            }
        });
       },
    });  
});

А это мой форматер с функцией errorStatus()

sap.ui.define(function() {
    'use strict';
    return {
            errorStatus: function(errorMessage) {
            if (_.isEmpty(errorMessage)) {
                return 'None';
            } else {
                return 'Error';
            }    
        },    
    };
});

Форматтер найден, так что это не может быть проблемой. Также я объявил средство форматирования в начале моего контроллера, так что это тоже должно быть хорошо. Другим предложенным решением был вызов функции без круглых скобок. Я этим не занимаюсь, так что это тоже не может быть проблемой.

Сообщение об ошибке:

функция форматирования .formatter.errorStatus не найдена


person sonja    schedule 06.03.2019    source источник


Ответы (1)


Я думаю, что способ, которым вы пытались привязать, неверен.

В представлении js вы можете выполнить привязку следующим образом:

var rowSettingsTemplate = new sap.ui.table.RowSettings({

  highlight: {
    path: "odataDetails>ERROR_MSG",
    formatter: formatter.errorStatus
  }
});

Надеюсь это поможет.

person Nandan Chaturvedi    schedule 06.03.2019