@rendermode InteractiveServer @if (IsSelected) { @QuestionGroupElement.Number } else { @QuestionGroupElement.Number @QuestionGroupElement.Title @if (!string.IsNullOrEmpty(QuestionGroupElement.Descript)) { } } @switch (QuestionGroupElement.QuestionType) { case QuestionType.Spelling: break; default: 未知或未实现的编辑器类型: @QuestionGroupElement.QuestionType @if (IsSelected) { 选中此题,但无对应编辑器可编辑内容。 } break; } @code { [Parameter] public QuestionGroupElement QuestionGroupElement { get; set; } [Parameter] public bool IsSelected { get; set; } [Parameter] public EventCallback OnSelected { get; set; } [Parameter] public EventCallback OnDeleted { get; set; } [Parameter] public EventCallback MoveUp { get; set; } [Parameter] public EventCallback MoveDown { get; set; } private async Task HandleClick() { if (!IsSelected) { await OnSelected.InvokeAsync(QuestionGroupElement.Number); } } private async Task HandleDelete() { await OnDeleted.InvokeAsync(QuestionGroupElement.Number); } private async Task HandleMoveUp() { await MoveUp.InvokeAsync(QuestionGroupElement.Number); } private async Task HandleMoveDown() { await MoveDown.InvokeAsync(QuestionGroupElement.Number); } private string GetQuestionTypeName(QuestionType type) { return type switch { QuestionType.Spelling => "拼写题", QuestionType.Pronunciation => "读音选择题", QuestionType.WordFormation => "组词题", QuestionType.FillInTheBlanks => "选词填空/补充词语", QuestionType.SentenceDictation => "默写句子", QuestionType.SentenceRewriting => "仿句/改写", QuestionType.ReadingComprehension => "阅读理解", QuestionType.Composition => "作文题", _ => "未知类型" }; } }