如何提示用户从 PrimeNG menuItem 中以角度上传文件

问题描述 投票:0回答:2

我有一个这样的菜单项

 items = [{
            label: 'Upload', icon: 'pi pi-plus', command: (event) => { //get the event.target.file and pass it into a service that will manage the rest},
...
        }]

所以在 Html 中我使用像这样的

<p-menu>

<p-menu [model]="items"></p-menu>

所有标签和图标都正确显示。但是,如何让上传打开文件上传提示(如

<input type='file'>
),以便我可以将 event.target.file 传递给命令中调用的服务?

javascript angular primeng primeng-menu
2个回答
0
投票

就我的研究而言,PrimeNg 中没有任何功能可以让这一切变得更容易。 为了提示用户上传文件,我必须创建一个输入文件类型,然后在调用 click() 事件后获取文件

因此,在 menuItem 中,我调用提示,然后调用服务。

items = [{label: 'Upload', icon: 'pi pi-plus', command: () => {upload_prompt( )}]

upload_prompt( ): void {

        const input = document.createElement( 'input' );
        input.type = 'file';
        input.multiple = true;

        input.onchange = () => {
            let file = input.files as FileList;
            file_upload_service( file )
        }
        input.click()
    }

希望这对某人有帮助。


0
投票

谢谢你!帮助很大!

© www.soinside.com 2019 - 2024. All rights reserved.