@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 => "作文题",
_ => "未知类型"
};
}
}