问题标签 [matblazor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-core - 单击 blazor 中的按钮时如何动态添加新的输入字段
如何在单击 blazor 中的按钮时添加输入字段类型 = 文本、选择、日期,如果可能的话在 matblazor 中单击按钮 1 时正常显示两个按钮创建下拉和文本字段按钮 1 仅创建文本字段
javascript - 使用 Blazor 在浏览器中播放本地音频文件
免责声明:我熟悉网络技术,但仍然是新手。
场景:我希望用户从本地文件系统中选择一个音频文件。然后我希望在网页上显示一个小的音频控件来播放选择并将音频发送回服务器(单击按钮后)。
问题:使用 MatBlazor FileUpload,我可以获取本地音频文件的流,但我不知道如何将它与 htmlaudio
元素一起使用。具体来说,如何将音频流传递到src
元素中?
在 javascript 中执行此操作的一种明确方法是使用<input type="file"/>
element 然后使用Filereader()
来播放音频。此处显示的内容如下:使用 Filereader.readAsDataURL(),使用 URL.createObjectURL()
如何在 Blazor 中执行此操作,即以正确的方式在浏览器中使用流播放本地音频文件?
当前解决方法:目前,我正在读取流并将音频转换为 base64 字符串,然后将其传递给audio
element。
这种方法的缺点是,对于大约 18 MB 的大型音频文件,转换时间约为 30 秒,并且 UI 一直卡在此之前。如果我在 Interops 中使用 javascript 方式,那么加载时间几乎是瞬时的,但是我必须使用input
元素而不是MatFileUpload
组件。拥有本地文件流的另一个原因是因为我想将此音频文件发送到服务器以进行进一步处理,并且发现使用流可以轻松完成。
我用来将音频流转换为 base64 字符串的代码:
blazor-client-side - 有东西阻塞了我的线程 - Blazor wasm
使用 MatBlazor 我正在尝试上传文件。但是,有些东西阻塞了线程,整个应用程序都被阻塞了。我不知道为什么。在文件加载到内存之前,似乎线程被阻塞了。是我的代码还是阻塞线程的 MatFileUploadEntry?
有人有什么想法吗?
称呼:
回复:
html - 使用 Blazor 的表内的 RadioButton
首先,我正在使用Blazor WebAssembly 3.2.0 Preview 4
.
我有一个名为 ObjectList 的对象列表,每个对象都有一个名为principal
. 此列表填充一个表。
逻辑是列表中只有一个元素可以将principal
属性值设置为 true,因此这就是单选按钮非常理想的原因。
在此示例中,我使用 MatBlazor 作为控件库。
有没有办法将此属性的单选按钮放在表格中,如下面的代码所示?
c# - Blazor 中的单独代码文件提供虚假警告消息
我有一个服务器端 Blazor 应用程序。在 Blazor 下编写剃须刀页面时有两种选择:将设计代码和 C# 代码放在一个“.razor”文件中,并将设计和代码文件分开为“.razor”和“.razor.cs”文件。问题是 Visual Studio 不完全支持剃须刀页面中的智能感知,但您始终可以将代码放在单独的文件中并使用完整的智能感知支持。这是一个包含代码块的最小示例剃须刀页面:
此代码工作正常。当我单击按钮时它会打开一个菜单,并且菜单项也可以正常工作。我决定将代码和设计文件分开,以便能够使用 Visual Studio (2019) 的智能感知功能,现在我收到警告说:
警告 CS0649 字段“MinimalSample.SampleMenu”从未分配给,并且始终具有其默认值 null
“.razor”页面如下:
代码文件“.razor.cs”是:
我不得不更改按钮和菜单引用以具有一些默认值(只是为了让编译器满意!)。
我知道这不是必需的,并且在没有新操作员的情况下也可以正常工作。然而编译器仍然抱怨变量“ActionText”被赋值,但它的值从未被使用过。
我想以适当的方式摆脱警告(将代码移动到 .razor 页面不是这里的选项)。我能做些什么来摆脱这些警告?有没有可能这是一个编译器错误?
更新:
@NikProtsman 提供了一个可行的解决方案。我刚刚删除了部分修饰符并将“.razor.cs”中的类定义的名称从
至
我还将私有修饰符更改为受保护
后来我像这样更改了“.razor”页面
现在我没有收到警告,我的代码按预期运行。
c# - Blazor 模板内的两种方式数据绑定
我想在模板内的组件与其父级之间使用双向数据绑定。数据绑定运行良好的一种方式。但是当我修改从 RenderFragment 传递的上下文时,这个修改不会传播到模板(容器)。这是示例。
这是模板定义。我们有一个表单,我们希望能够在模型的函数中指定表单的内容。
这是我使用这个模板的地方
当用户修改MatTextField字段时,将重置为模板组件提供的初始值。
你有想法吗 ?
编辑 1:有关我们获取数据的方式的更多信息
是的,TDataService 正在从 REST Api 获取组件。这里链接到模板的部分类:
.net-core - 如何在 Blazor Server 应用程序中停止事件传播
我正在使用Grid.Blazor库在 Blazor 应用程序上呈现服务器端网格。其中一列有一个带有点击事件的按钮。因此,当单击按钮时,也会触发网格行事件以及按钮单击事件。我想停止事件传播,只让按钮单击事件触发。
网格:
自定义列组件:
我尝试传入@onclick:stopPropagation
子按钮组件。但它在下面给出了编译错误。
组件参数“onclick”用于该组件两次或多次。参数必须是唯一的(不区分大小写)。组件参数“onclick”由“@onclick:stopPropagation”指令属性生成。
我正在运行.Net core 3.1.201。非常感谢任何帮助。
blazor - 在 MainLayout.razor 或 App.razor 中添加 MatBlazor MatThemeProvider
MatBlazor 文档说“要为所有应用程序应用主题,您可以在 MainLayout.razor 或 App.razor 中使用 MatThemeProvider”
这个例子的信息很薄。
将代码片段添加到 MainLayout.razor 或 App.razor 时,它只是不起作用。
我得到的错误是“InvalidOperationException:路由器组件需要找到参数的值。”
您如何为整个应用程序应用主题?
App.razor