使用组件参数和属性传递状态:适合父子组件之间的简单状态传递,可以使用[Parameter]或者[CascadingParameter]特性来标记组件参数,并且使用<Component Parameter="Value" />或者<CascadingValue Value="Value"><Component /></CascadingValue>语法来传递状态。 使用服务注入共享状态:适合跨组件或全局的状态共享,可以使用依赖注入...
MyComponent CounterValue is @CounterValue Update @code { [Parameter] public int CounterValue { get; set; } [Parameter] public EventCallback<int> CounterValueChanged { get; set; } async Task UpdateCounterValue() { CounterValue++; await CounterValueChanged.InvokeAsync(CounterValue); } } 以...
不同於元件參數屬性 ([Parameter]),除了 [SupplyParameterFromQuery] 之外,private 屬性還可以標示為 public。 C# 複製 [SupplyParameterFromQuery(Name = "{QUERY PARAMETER NAME}")] private string? {COMPONENT PARAMETER NAME} { get; set; } 在下列範例中,URL 是 /search?filter=scifi%20stars&page=3&...
public partial class ColorGroup { [Parameter] public List<string> Colors { get; set; } = new(); [Parameter] public string Value { get; set; } = string.Empty; [Parameter] public EventCallback<string> ValueChanged { get; set; } [Parameter] public string? Class { get; set; } [...
這是指示他們在其 <RootComponent> 元件中新增 MainLayout 元件的合理替代方案。串聯多個值若要串聯相同子樹內相同類型的多個值,請為每個 Name 元件及其對應的 CascadingValue 提供唯一的 [CascadingParameter] 字串。在下列範例中,兩個 CascadingValue 元件會串聯 CascadingType 不同的執行個體:...
[parameter]publicEventCallback<string?> TextChanged {get;set;}TaskOnchanged(ChangeEventArgs e){ Text = e.Value?.ToString(); TextChanged.InvokeAsync(Text);returnTask.CompletedTask; } } 消费者代码或说调用者代码: @page"/custom-bind"<CustomComponent@bind-Text="ConsumerVariate"/> ...
需要注意的是,通常情况下,我们还需要设置一个@bing-Year:event指令,不过由于我们定义的事件回调的名字YearChanged是符合自动匹配的,即命名格式是 {PARAMETER NAME}Changed,也就可以省略@bind-Year:event="YearChanged"这个设置,这就是所谓的“约定大于配置”。因此,它其实等价于: ...
It renders the layout and passes it the type of the component to add to theBodyRenderFragment. 组件 所有的组件都是普通的实现了IComponent接口的类。 IComponent接口的定义如下: public interface IComponent { void Attach(RenderHandle renderHandle); Task SetParametersAsync(ParameterView parameters); } ...
[Parameter] public List<TableItem> Items { get; set; } //different methods private void Refresh() { InvokeAsync(() => { StateHasChanged(); }); } } 这就是我在页面(父组件)中使用它的方式: <CustomTable Items="_myItems"> <CustomTableHeader> ...
定义一个Year属性和EventCallback<int>类型的属性YearChanged 新建一个父组件命名为ParentComponent AI检测代码解析 父组件ParentYear:<ChildComponent@bind-Year="ParentYear"/>@code { [Parameter] public int ParentYear { get; set; } = 1978;} 1. 在页面中引用父组件: YearChanged是一个约定命名,不能...