ant-design-blazor/components/input/TextArea.razor

62 lines
1.8 KiB
C#
Raw Normal View History

@namespace AntDesign
@inherits Input<string>
<!--TODO: minheight, maxheight, onResize-->
@{
Dictionary<string, object> attributes =
new Dictionary<string, object>()
{
{ "onchange", CallbackFactory.Create(this, OnChangeAsync) },
{ "onblur", CallbackFactory.Create(this, OnBlurAsync) },
{ "oninput", CallbackFactory.Create(this, OnInputAsync) },
{ "onkeypress", CallbackFactory.Create(this, OnKeyPressAsync) },
{ "onkeyup", CallbackFactory.Create(this, OnKeyUpAsync) },
{ "onkeydown", CallbackFactory.Create(this, OnkeyDownAsync) },
{ "onfocus", CallbackFactory.Create(this, OnFocusAsync) },
{ "value", CurrentValueAsString },
{ "placeholder", Placeholder },
{ "id", Id },
{ "style", Style },
{ "class", ClassMapper.Class },
{ "disabled", Disabled },
{ "readonly", ReadOnly },
};
if (Attributes != null)
{
Attributes.Keys.ForEach(key => { attributes[key] = Attributes[key]; });
}
}
@if (ShowCount)
{
<div class="ant-input=textarea ant-input-textarea-show-count" data-count="@(Value?.Length ?? 0)">
@if (Suffix != null)
{
<span class="@_warpperClassMapper.Class">
<textarea @ref="Ref" @attributes="attributes"/>
@Suffix
</span>
}
else
{
<textarea @ref="Ref" @attributes="attributes"/>
}
<AntDesign.Text Style="float: right; pointer-events: none; white-space: nowrap; color: rgba(0, 0, 0, 0.45)">&nbsp;@($"/ {MaxLength}")</AntDesign.Text>
</div>
}
else
{
@if (Suffix != null)
{
<span class="@_warpperClassMapper.Class">
<textarea @ref="Ref" @attributes="attributes"/>
@Suffix
</span>
}
else
{
<textarea @ref="Ref" @attributes="attributes"/>
}
}