How to change a sync event to async event in blazor

Viewed 31
 <MudTd Class="align-baseline" DataLabel="Yes/No/NA">
                <MudSelect Dense="true" T="string" Label="Answer" 
                 Variant="Variant.Filled" Placeholder="Please Select"
                 Value="rcontext.Yes_No_NA" 
                 ValueChanged="value => SelectSeverityLikelihood(rcontext, value)" 
                 For="@(() => rcontext.Yes_No_NA)" >
                    <MudSelectItem Value="@("Yes")" />
                    <MudSelectItem Value="@("No")" />
                    <MudSelectItem Value="@("N/A")" />

                </MudSelect>
            </MudTd>

How will I make the Valuechanged function to async?

 public async Task SelectSeverityLikelihood(Questionnaire context, string selectedString)
    {
        int? riskweight = 1;
        if (selectedString == "Yes")
        {
            riskweight = 1;
        }
        else //N/A and No

        {
            riskweight =  await context.RiskWeightage;
        }

        var data = RiskScore.GetMatrixData();
        var coordinates = RiskScore.GetCoordinates(data);

         coordinates = RiskScore.GetMatrixData("");

        var riskmatrix = coordinates.GetAllRiskFromRiskValue(riskweight.ToString());
          context.Yes_No_NA =   await selectedString;
         context.Severity =  await riskmatrix.Severity;
        context.Likelihood =  await riskmatrix.Likelihood;
        context.Rating =  await Convert.ToInt16(riskmatrix.Riskvalue);



    }

I am trying to make it async as there is a lag in UI when selecting the dropdown values. How will i change this `ValueChanged="value => SelectSeverityLikelihood(rcontext, value)"' to make it call async?

0 Answers
Related