我想在Blazor客户端应用程序中集成jQuery UI组件。 Spinner组件在jQuery UI中看起来更好。这可能吗?如何整合呢?
我希望将此Spinner组件集成到我的Blazor客户端应用程序中吗?
答案 0 :(得分:2)
这是为JQuery或JS控件创建包装的方法:
1.-将JS行为包含在函数中:
<script>
var spinner = null;
window.myWrapperKSUIfunctions = {
initialize: function () {
spinner = $( "#spinner" ).spinner();
$( "button" ).button();
},
dissableclick: function () {
if ( spinner.spinner( "option", "disabled" ) ) {
spinner.spinner( "enable" );
} else {
spinner.spinner( "disable" );
}
},
destroyclick: function () {
if ( spinner.spinner( "instance" ) ) {
spinner.spinner( "destroy" );
} else {
spinner.spinner();
}
},
getvalueclick: function () {
alert( spinner.spinner( "value" ) );
},
setvalueclick: function () {
spinner.spinner( "value", 5 );
},
};
</script>
别忘了包括其他JS / JQuery库。
2.-从blazor初始化控件:
@code {
protected async override Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JsRuntime.InvokeAsync<object>("myWrapperKSUIfunctions.initialize");
}
}
3.-从blazor调用JS函数:
<button id="disable"
@onclick="@( ()=>JustCall("dissableclick") )" >
Toggle disable/enable
</button>
@code {
...
protected async Task JustCall(string f)
{
wait JsRuntime.InvokeAsync<object>($"myWrapperKSUIfunctions.{f}");
}
另外,请查看MatBlazor控件。