предпочтения по количеству соединений с БД
Что-то типа такого?
https://learn.microsoft.com/en-us/aspnet/core/blazor/compo...
А вообще, вроде это делается чем-то типа переключалок, типа табов
https://getbootstrap.com/docs/5.0/components/navs-tabs/#ja...
Или вообще меню с "шагами", где в зависимости от выбранных опций на текущем шаге вы выбираете форму меню следующего шага. Т.е. вместо того, чтобы создавать динамически, вы создаёте дерево заранее созданных вариантов меню.
https://www.telerik.com/blazor-ui/stepper
https://blazor.radzen.com/steps
По-моему, эти шаги то же самое, как если бы вы везде навтыкали @if, только тут вы будете их втыкать на каждом шаге и анализировать выбор пользователя на предыдущем шаге. Типа
// step 3
<Step>
@if (userSelectStep1 and userSelectStep2)
<div>...
@else if (...)
<div>...
@else
<div>...
</Step>Что-то типа такого?
нет хотя может идея и такая. Если сильно хочется понять - есть некое описание формы, оно задается странице по открытию и вот получаем форму по описанию.
Есть набор фиксированных компонент, а из них уже собирается то, что нужно пользователю.
Кроме того, есть описание того как ведет себя компонент по мере ввода данных. Типа, в зависимости от возраста могут разрешить вводить данные в поле класс/школа, а могут и запретить.
А вообще, вроде это делается
А что мы собрались обсуждать как это лучше сделать? Пока подобная задача не стоит.
Да и вначале нужно знать, что же действительно нужно пользователю? А после уже думать как это лучше реализовать
Кроме того, есть описание того как ведет себя компонент по мере ввода данных. Типа, в зависимости от возраста могут разрешить вводить данные в поле класс/школа, а могут и запретить.
Это же триггерами делается или что там в Блейзоре, просто обработчик события changed, чтоли - enabled-disabled одного контрола зависит от данных другого.
есть некое описание формы, оно задается странице по открытию
Ну тогда просто пачка if-ов на рендер компонентов, которые зависят от описания.
Ну тогда просто пачка if-ов
я только не понимаю зачем рассуждать о том, что не требуется и не имеет полного описания.
Поразмышляете лучше, что мы увидим в логах от приведенных фрагментов кода
https://foren.germany.ru/showmessage.pl?Number=40152904&Bo...
------
А виртуальную функу в компонент втиснуть не судьба?
Ну тогда посмотри на набор конструкторов...
Никогда не поверите, по нажатию кнопки с функцией которая ничего не делает происходит офигенное количество действий. В том числе происходит вызов функции ParametersSetAsync.
По названию которой можно сделать предположение что параметры изменились.
---Pressed button Refresh--- ShouldRender Owner set:[Forecasts, BlazorTestCascadingValue.Data.WeatherForecast[]] OnParametersSetAsync enter ShouldRender child OnAfterRenderAsync Owner: enter OnAfterRenderAsync child:enter OnAfterRenderAsync Owner: next render OnAfterRenderAsync child: next render ShouldRender Owner set:[Forecasts, BlazorTestCascadingValue.Data.WeatherForecast[]] OnParametersSetAsync enter ShouldRender child OnAfterRenderAsync Owner: enter OnAfterRenderAsync child:enter OnAfterRenderAsync child: next render OnAfterRenderAsync Owner: next render OnParametersSetAsync exit ShouldRender child OnAfterRenderAsync child:enter OnAfterRenderAsync child: next render OnParametersSetAsync exit ShouldRender child OnAfterRenderAsync child:enter OnAfterRenderAsync child: next render</code>
С какой стати? Может, там проверка на изменение и выход без действий, если параметры не изменились? Типа как сеттер в свойстве с проверкой параметра на равенство текущему значению поля.
А вообще, чего удивительного, что там куча всего вызывается? Он же определяет в каждом компоненте дерева, надо ли его перерисовать или выполнить какое-нибудь действие, назначенное пользователем. При этом там может быть банальная проверка установленного на действие делегата на null, и если null, то ничего не делать - аналогично с сеттерами. Это ещё системные вызовы не показываются, а лишь то, что Блейзору принадлежит.
С какой стати?
Всё оказывается описано в доку. Нужно только найти нужную часть и правильно интерпретировать
https://learn.microsoft.com/en-us/aspnet/core/blazor/compo...
https://learn.microsoft.com/en-us/aspnet/core/blazor/compo...
https://learn.microsoft.com/en-us/dotnet/api/microsoft.asp...


Liste