我正在学习 Blazor。我没有基于组件的编程经验。
我有两个组件: aDateRangePicker
和 a RadzenCheckBox
。
<RadzenFieldset Text="Test Component">
<DateRangePicker @ref="calendar" />
<div>
<Radzen.Blazor.RadzenCheckBox TValue="bool" Change="@((args) => txtBoxChange(args))" />
<RadzenLabel Text="Check" />
</div>
</RadzenFieldset>
现在,要求很简单。如果单击该复选框,则显示两个日历,如果未选中则显示一个日历。
我写了以下代码:
@code{
DateRangePicker calendar;
public void txtBoxChange(bool args)
{
if (args == true) //shows one calendar when checked
calendar.ShowOnlyOneCalendar = true;
else //shows two calendars when unchecked
calendar.ShowOnlyOneCalendar = false;
}
}
这工作正常。
但我得到一个警告:
不应在其组件之外设置组件参数“ShowOnlyOneCalendar”。
我已经阅读了一些有关此警告的博客,其中建议建立父子组件关系以进行组件之间的通信。但这些不是父母和孩子。
我究竟做错了什么?实现此类要求且没有此警告的最佳方法是什么?