gpt4 book ai didi

forms - 如何实时显示/隐藏元素(Blazor)?

转载 作者:行者123 更新时间:2023-12-04 12:08:04 24 4
gpt4 key购买 nike

我有一个图像,我想在用户填写所有文本字段后显示。
我试过使用 disabled属性,但这似乎不起作用。还有其他见解吗?
这是我当前的代码:

<EditForm EditContext="@EditContext" style="max-width:800px;" onkeydown="javascript: DisableEnterKey();">
<FluentValidator />

<img src="images/approval-16-grey.ico" alt="Image" disabled="@OkayDisabled">


<p class="statp">How many families and/or individuals are living on your land?</p><br />

<label class="statlabel" for="amountOfFamilies">Amount of families:</label><br />
<InputNumber id="fams" for="indivNum" class="input" @bind-Value="@familyData.IndividualAmount" onwheel="this.blur()" placeholder="Families..." autofocus />
<ValidationMessage For="() => familyData.IndividualAmount" />

<br /><hr class="statHR" />

<label class="statlabel" for="amountOfIndividuals">Amount of single individuals: </label><br />
<InputNumber id="individuals" for="famNum" class="input" @bind-Value="@familyData.FamilyAmount" onwheel="this.blur()" placeholder="Individuals..."/>
<ValidationMessage For="() => familyData.FamilyAmount" />

<br /><hr class="statHR" />

<label class="statlabel" for="names"> Please enter all of the names here:</label><br />
<InputTextArea id="names" class="textArea" rows="4" cols="18" @bind-Value="@PersonName" placeholder="Names of all individuals..." />
<ValidationMessage For="() => familyData.PersonName" />


</EditForm>

</div>
</ul>


@code
{
private EditContext? EditContext;
public FamilyData Model = new FamilyData();

protected string OkayDisabled { get; set; } = "disabled";

protected override void OnInitialized()
{
EditContext = new EditContext(Model);
EditContext.OnFieldChanged += EditContext_OnFieldChanged;

base.OnInitialized();
}

protected override void OnAfterRender(bool firstRender)
{
base.OnAfterRender(firstRender);

SetOkDisabledStatus();
}

private void EditContext_OnFieldChanged(object? sender, FieldChangedEventArgs e)
{
SetOkDisabledStatus();
}

private void SetOkDisabledStatus()
{
if(EditContext.Validate())
{
OkayDisabled = null;
}
else
{
OkayDisabled = "disabled";
}
}
}

最佳答案

hidden html 属性也可以隐藏元素。<p hidden>This paragraph should be hidden.</p>绑定(bind)到模型:

 <p hidden="@HideLabel">I am Hidden When HideLabel == true</p>

<p hidden="@(!HideLabel)">I am Hidden when Hidelabel == false</p>


<button @onclick="@Toggle">Show/Hide</button>

@code {
private bool HideLabel {get;set;} = false;
private void Toggle()
{
HideLabel = !HideLabel;
}
}

关于forms - 如何实时显示/隐藏元素(Blazor)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63693734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com