我正在尝试基于Enable/Disable
在Blazor中time
一组checkbox
输入;对于类型为inputs
的{{1}}而言,以下解决方案有效,对于类型为button
的输入,则不可行:
有效的按钮输入解决方案
time
提示无效的时间输入
<button type="button"
class="@this.SetButton">
</button>
[Parameter] public bool state{get;set;}
public string SetButton() {
string result = state == true ? "" : "disabled";
return result;
}
PS 在第一种情况下,<input bind="@IsDisabled" type="checkbox" />
<input class="@this.GetGroupState()" type="time" />
protected bool IsDisabled { get; set; }
public string GetGroupState() {
return this.IsDisabled ? "disabled" : "";
}
作为参数来自另一个bool
,因此我不绑定它。但是,在第二种情况下,它绑定到component
答案 0 :(得分:3)
要禁用元素,您应该使用disabled attribute。
我对您的代码做了一些修改,这将满足您的要求。 Blazor将基于disabled
值自动添加或删除IsDisabled
属性。
您还应该在按钮上使用Disabled属性。这是更好的做法。
<button type="button" disabled="@IsDisabled"></button>
<input bind="@IsDisabled" type="checkbox" />
<input disabled="@IsDisabled" type="time" />
@functions {
protected bool IsDisabled { get; set; }
}
您仍然可以将其与应用CSS类以对禁用元素进行样式化结合起来。由你决定。
答案 1 :(得分:2)
还有另一种方法可以实现这一目标。
<fieldset disabled=@ShouldBeDisabled>
Your input controls in here will be disabled/enabled by the browser
</fieldset>
答案 2 :(得分:2)
您还可以获得直接禁用按钮的值作为表达式
<input disabled="@(MyCondition ? true : false)" type="checkbox" />
答案 3 :(得分:0)
Blazor 使 disabled="false" 消失。这种说法是不正确的!唯一的方法就是像这样使用 if 语句。
@if (IsDisabled)
{
<input type="checkbox" @bind="Value" disabled />
}
else
{
<input type="checkbox" @bind="Value" />
}
答案 4 :(得分:0)
有趣的是,这是有效的
<input type="submit" class="btn btn-primary" value="Send"
disabled="@OperationIsInProgress" />
但这没有
@code{
protected bool OperationIsInProgress { get; set; }
}
`Dim I As Integer, J As Integer
Dim MonTableau As Variant
Dim ListePositionsMots As String
Dim MonRange As Range
With ActiveDocument
If .TablesOfContents.Count = 0 Then
MsgBox "Aucune table des matières dans le document !", vbInformation
Exit Sub
End If
With .TablesOfContents(1)
J = 1
For I = 1 To .Range.Words.Count
If J <= 2 Then
If .Range.Words(I) <> "" Then ListePositionsMots = ListePositionsMots & I & ","
J = J + 1
End If
If .Range.Words(I) = Chr(13) Then J = 1
Next I
ListePositionsMots = Mid(ListePositionsMots, 1, Len(ListePositionsMots) - 1)
MonTableau = Split(ListePositionsMots, ",")
For I = LBound(MonTableau) To UBound(MonTableau)
Set MonRange = ActiveDocument.TablesOfContents(1).Range
MonRange.SetRange Start:=MonRange.Words(MonTableau(I)).Start, End:=MonRange.Words(MonTableau(I)).End
With MonRange
If .Text <> Chr(9) Then
.Font.ColorIndex = wdRed
.Case = wdUpperCase
End If
End With
Set MonRange = Nothing
Next I
End With
End With`