立即从另一个组件更新 Blazor 中的字段
Update a field in Blazor from another component immediately
我在父组件上创建了一个对象(元素)。我在 child ViewComponent
和 child EditComponent
.
上传递了对它的引用
当我在 EditComponent
中更改元素的属性时
<input type=text @bind=@Element.Placeholder/>
它们会改变,但只有当我改变焦点时才会在 ViewComponent
上显示改变。
我尝试了 <input type=text @bind=@Element.Placeholder @bind:event="oninput"/>
但没有任何反应。
在 ViewComponent 上我只显示结果 <p>@Element.Placeholder
我想知道我是否可以让 ViewComponent
来“聆听”变化,而不是硬渲染值或类似的东西。不确定我在这里使用的术语是否正确希望您理解我正在尝试做的事情。谢谢
*编辑更清晰的问题
这对我有用
ViewComponent.razor
<p>@Value</p>
@code
{
[Parameter]
public string Value { get; set; }
}
Index.razor
@page "/"
<ViewComponent Value="@_value" />
<input @bind="_value" @bind:event="oninput">
@code
{
private string _value = "";
}
这应该是一个EditForm
中的单词。
您可以在 fiddle.
中试用
我在父组件上创建了一个对象(元素)。我在 child ViewComponent
和 child EditComponent
.
当我在 EditComponent
<input type=text @bind=@Element.Placeholder/>
它们会改变,但只有当我改变焦点时才会在 ViewComponent
上显示改变。
我尝试了 <input type=text @bind=@Element.Placeholder @bind:event="oninput"/>
但没有任何反应。
在 ViewComponent 上我只显示结果 <p>@Element.Placeholder
我想知道我是否可以让 ViewComponent
来“聆听”变化,而不是硬渲染值或类似的东西。不确定我在这里使用的术语是否正确希望您理解我正在尝试做的事情。谢谢
*编辑更清晰的问题
这对我有用 ViewComponent.razor
<p>@Value</p>
@code
{
[Parameter]
public string Value { get; set; }
}
Index.razor
@page "/"
<ViewComponent Value="@_value" />
<input @bind="_value" @bind:event="oninput">
@code
{
private string _value = "";
}
这应该是一个EditForm
中的单词。
您可以在 fiddle.