コード例 #1
0
ファイル: ComponentBase.cs プロジェクト: jnm2/AspNetCore
        /// <summary>
        /// Method invoked to apply initial or updated parameters to the component.
        /// </summary>
        /// <param name="parameters">The parameters to apply.</param>
        public virtual Task SetParametersAsync(ParameterCollection parameters)
        {
            parameters.SetParameterProperties(this);
            if (!_hasCalledInit)
            {
                return(RunInitAndSetParameters());
            }
            else
            {
                OnParametersSet();
                // If you override OnInitAsync or OnParametersSetAsync and return a noncompleted task,
                // then by default we automatically re-render once each of those tasks completes.
                var  isAsync        = false;
                Task parametersTask = null;
                (isAsync, parametersTask) = ProcessLifeCycletask(OnParametersSetAsync());
                StateHasChanged();
                // We call StateHasChanged here so that we render after OnParametersSet and after the
                // synchronous part of OnParametersSetAsync has run, and in case there is async work
                // we trigger another render.
                if (isAsync)
                {
                    return(parametersTask);
                }

                return(Task.CompletedTask);
            }
        }
コード例 #2
0
ファイル: ComponentBase.cs プロジェクト: xs-sun/AspNetCore
        /// <summary>
        /// Method invoked to apply initial or updated parameters to the component.
        /// </summary>
        /// <param name="parameters">The parameters to apply.</param>
        public virtual Task SetParametersAsync(ParameterCollection parameters)
        {
            parameters.SetParameterProperties(this);
            if (!_initialized)
            {
                _initialized = true;

                return(RunInitAndSetParametersAsync());
            }
            else
            {
                return(CallOnParametersSetAsync());
            }
        }
コード例 #3
0
ファイル: ComponentBase.cs プロジェクト: wtcbb2/AspNetCore
        /// <summary>
        /// Method invoked to apply initial or updated parameters to the component.
        /// </summary>
        /// <param name="parameters">The parameters to apply.</param>
        public virtual void SetParameters(ParameterCollection parameters)
        {
            parameters.SetParameterProperties(this);

            if (!_hasCalledInit)
            {
                _hasCalledInit = true;
                OnInit();

                // If you override OnInitAsync and return a noncompleted task, then by default
                // we automatically re-render once that task completes.
                var initTask = OnInitAsync();
                ContinueAfterLifecycleTask(initTask);
            }

            OnParametersSet();
            var parametersTask = OnParametersSetAsync();

            ContinueAfterLifecycleTask(parametersTask);

            StateHasChanged();
        }
コード例 #4
0
 /// <inheritdoc />
 public Task SetParametersAsync(ParameterCollection parameters)
 {
     parameters.SetParameterProperties(this);
     Render();
     return(Task.CompletedTask);
 }