SAPUI5表格单元格值状态消失

SAPUI5表格单元格值状态消失,sapui5,Sapui5,我正在使用factory函数通过控制器向SAPUI5表列项添加控件,以便可以应用跨字段验证和标准控件验证。现在验证工作正常,它显示了带有红色边框的错误消息,但当我移动到下一个控件时,控件的验证状态消失。我注意到这是由于SAPUI5的一些内部功能导致的,它在HTML dom资源管理器中重新呈现了表的表体元素,这也消除了应用于控件的错误类。它是第一次出现,但当我尝试再次使用无效数据更改同一控制器的值时,它会显示错误,并将值状态保留为红色边框 我的表格XML视图 <Table id="todos

我正在使用factory函数通过控制器向SAPUI5表列项添加控件,以便可以应用跨字段验证和标准控件验证。现在验证工作正常,它显示了带有红色边框的错误消息,但当我移动到下一个控件时,控件的验证状态消失。我注意到这是由于SAPUI5的一些内部功能导致的,它在HTML dom资源管理器中重新呈现了表的表体元素,这也消除了应用于控件的错误类。它是第一次出现,但当我尝试再次使用无效数据更改同一控制器的值时,它会显示错误,并将值状态保留为红色边框

我的表格XML视图

<Table id="todosTable" growing="true"  items="{
                            path: 'TripService>/todos', factory: '.populateItems'
                        }">
                        <columns>
                            <Column id="id">
                                <Text text="Id"/>
                            </Column>
                            <Column id="title">
                                <Text text="Title"/>
                            </Column>
                            <Column id="url">
                                <Text text="Url"/>
                            </Column>
                            <Column id="thumbnailUrl">
                                <Text text="Thumbnail Url"/>
                            </Column>
                        </columns>
                    </Table>
一些图像具有有效的错误状态,然后是错误状态


正如您在上面两张图片中所看到的,错误在第二张图片中消失了,尽管我希望它会出现。

您是否可以在类似的工具中构建此问题的工作示例。这可能有助于调试问题。我让它工作了问题是,每当我们更改任何值时,表都会重新呈现列,并且它会丢失所有的值状态。修复方法是存储生成的列引用,当表尝试再次呈现列时,我从本地存储的reference@AtulChaudhary
TripService
是一个ODataModel吗?
function populateItems(sId: any, oContext: any) {
                const idInput = new Input({
                    value: "{TripService>id}",
                    id: `id_${sId}`,
                    liveChange: onIdChange.bind(this)
                });
                const titleInput = new Input({
                    value: "{TripService>title}",
                    id: `title_${sId}`,
                    liveChange: onTitleChange.bind(this)
                });
                const urlInput = new Input({
                    value: "{TripService>url}"
                });
                const tumbnailInput = new Input({
                    value: "{TripService>thumbnailUrl}"
                });

                var row = new ColumnListItem(sId, {
                    cells: [idInput, titleInput, urlInput, tumbnailInput]
                });
                return row;
            }

function onIdChange(oEvent: any) {
   oEvent.oSource.setValueState(sap.ui.core.ValueState.Error);
}
function onTitleChange(oEvent: any) {
   oEvent.oSource.setValueState(sap.ui.core.ValueState.Error);

}