在JS代码中设置UI5sap.m.UploadCollectionItem的"visibleEdit"和"visibleDelete"值

Set "visibleEdit" and "visibleDelete" values of UI5 sap.m.UploadCollectionItem in JS code

我正在与 sap.m.UploadCollection 合作。
现在我希望能够根据来自后端的值在每个文件的运行时更改 enableEditenableDeletevisibleEditvisibleDelete 的值,而不是仅通过 XML-模板在 sap.m.UploadCollectionItem 中静态显示。

我试过类似的东西:

oController.getModel("files").setProperty("/visibleEdit", false)

但这似乎是一种错误的做法。

如何使用 JS(运行时)为每个文件设置 visibleEdit 的期望值?

包含 UploadCollection 组件的视图片段:

<UploadCollection
    id="UploadCollection"
    maximumFilenameLength="255"
    maximumFileSize="10"
    multiple="false"
    showSeparators="All"
    change="onFileChanged"
    noDataText="{texte>/FAM081}"
    fileDeleted="onFileDelete"
    filenameLengthExceed="onFilenameLengthExceed"
    fileRenamed="onFileChange"
    fileSizeExceed="onFileSizeExceed"
    selectionChange="onSelectionChange"
    typeMissmatch="onTypeMissmatch"
    uploadComplete="onUploadComplete"
    uploadButtonInvisible="{=${screen_model>/KomItemAdd}!==true}"
    beforeUploadStarts="onBeforeUploadStarts"
    uploadTerminated="onUploadTerminated"
    items="{path : 'files>/', templateShareable : 'true'}"
    numberOfAttachmentsText="Uploaded (8)"
    mode="SingleSelectMaster"
    uploadUrl="%MY_UPLOAD_URL%">
    <toolbar>
        <OverflowToolbar id="myId">
            <ToolbarSpacer />
            <UploadCollectionToolbarPlaceholder></UploadCollectionToolbarPlaceholder>
        </OverflowToolbar>
    </toolbar>
    <items>
        <UploadCollectionItem
            documentId="{files>documentId}"
            fileName="{files>fileName}"
            mimeType="{files>mimeType}"
            thumbnailUrl="{files>thumbnailUrl}"
            url="{files>url}"

            visible="{= ${files>text}!==''}"

            enableEdit="{=${files>userID}===${userdata>/UserId}}"
            enableDelete="{=${files>userID}===${userdata>/UserId}}"

            visibleDelete="{=${files>userID}===${userdata>/UserId} &amp;&amp; ${screen_model>/KomItemAdd}===true}"
            visibleEdit=  "{=${files>userID}===${userdata>/UserId} &amp;&amp; ${screen_model>/KomItemAdd}===true}"

            attributes="{path : 'files>attributes', templateShareable : 'true'}"
            statuses="{path : 'files>statuses', templateShareable : 'true'}"
            selected="{selected}">
    
            <attributes>
                <ObjectAttribute title="{files>title}"
                text="{files>text}"
                active="{files>active}"
                press="onAttributePress"/>
            </attributes>
    
            <statuses>
                <ObjectStatus title="{files>title}"
                    text="{files>text}"
                    state="{files>state}"
                    icon="{files>icon}"
                    iconDensityAware="{files>iconDensityAware}"
                    textDirection="{files>textDirection}"/>
            </statuses>
        </UploadCollectionItem>
    </items>
</UploadCollection>

在此代码段中,enableEditenableDeletevisibleEditvisibleDelete 的值是基于遗留逻辑的硬编码。

现在,我需要添加关于 enableEditenableDeletevisibleEditvisibleDelete 的附加条件。理想情况下,我想在控制器中实现此更改,以便更灵活地控制此逻辑。

您需要更新 enableEditenableDeletevisibleEditvisibleDelete 属性 值,而不是更新 json 的值型号。

请参考UI5方法: https://sapui5.hana.ondemand.com/#/api/sap.m.UploadCollectionItem%23methods/setEnableEdit