Blazor文本框双向绑定为何仅失焦后渲染?如何实现实时更新?
Blazor文本框双向绑定实时渲染解决方案
Blazor里的@bind-value默认绑定的是onchange事件(对应元素失焦时触发),这就是为什么只有失焦后绑定值才会更新渲染。要实现和Vue的v-model一样的实时输入同步效果,只需要显式指定绑定的事件为oninput即可。
修改后的Blazor代码:
<input type="text" @bind-value="Name" @bind-value:event="oninput"/> <p> @Name </p>
原理说明:
- Vue的
v-model默认绑定input事件,每输入一个字符就会触发数据更新和页面渲染 - Blazor的
@bind-value默认行为是绑定change事件,仅在元素失去焦点时同步数据,通过添加@bind-value:event="oninput",就能让绑定值在每次输入时即时更新并渲染到页面上
内容的提问来源于stack exchange,提问作者rohit goel
相关产品推荐
相关产品推荐

