HTML 输入属性接受的 neutralinojs 解决方法
neutralinojs workaround to HTML input attribute accept
我有一个带有文件输入的 neutralinojs 应用程序。应该只能从“.csv”或“.xlsx”类型中选择文件。所以我使用accept属性。
<input type="file" accept=".csv,.xlsx" />
在浏览器模式下有效,但在 window 模式下无效。
是否有解决方法可以在文件选择器中仅显示具有这些文件类型的文件?
您需要使用 Neutralino 的 API 进行对话。
所以在 Neutralino 的 OS API 中,我们有一些用于 save file
、open file
和 open folder
的函数,我们可以使用这些函数向用户显示对话框。
在您的情况下,您需要使用 open file
对话框,以便您可以使用 Neutralino.os.showOpenDialog
,示例:
Neutralino.os.showOpenDialog('Open a file', {
filters: [
{name: 'Documents', extensions: ['csv', 'xlsx']},
{name: 'All files', extensions: ['*']}
]
}).then(result => {
console.log('You have selected:', result);
});
需要注意的是所有这些 API 都可以在两种模式下工作,浏览器和 window。
因此,如果您在浏览器模式下 运行 这段代码,仍会出现一个对话框。
阅读更多关于 Neutralino's OS APIs
我有一个带有文件输入的 neutralinojs 应用程序。应该只能从“.csv”或“.xlsx”类型中选择文件。所以我使用accept属性。
<input type="file" accept=".csv,.xlsx" />
在浏览器模式下有效,但在 window 模式下无效。
是否有解决方法可以在文件选择器中仅显示具有这些文件类型的文件?
您需要使用 Neutralino 的 API 进行对话。
所以在 Neutralino 的 OS API 中,我们有一些用于 save file
、open file
和 open folder
的函数,我们可以使用这些函数向用户显示对话框。
在您的情况下,您需要使用 open file
对话框,以便您可以使用 Neutralino.os.showOpenDialog
,示例:
Neutralino.os.showOpenDialog('Open a file', {
filters: [
{name: 'Documents', extensions: ['csv', 'xlsx']},
{name: 'All files', extensions: ['*']}
]
}).then(result => {
console.log('You have selected:', result);
});
需要注意的是所有这些 API 都可以在两种模式下工作,浏览器和 window。
因此,如果您在浏览器模式下 运行 这段代码,仍会出现一个对话框。
阅读更多关于 Neutralino's OS APIs