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

45 lines
1.5 KiB
C#

@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 },
};
if (Attributes != null)
{
Attributes.Keys.ForEach(key => { attributes[key] = Attributes[key]; });
}
}
@if (Suffix != null)
{
<span class=@($"{PrefixCls}-affix-wrapper {PrefixCls}-affix-wrapper-textarea-with-clear-btn")>
<textarea @ref="Ref" @attributes="attributes" />
@Suffix
</span>
}
else
{
<textarea @ref="Ref" @attributes="attributes" />
}
@if (AutoSize)
{
<textarea class="@ClassMapper.Class" style="position: absolute;left:0; z-index: -1;visibility: hidden;height: 0px;overflow-y: hidden; @_hiddenWidth" @ref="_hiddenEle">@Value</textarea>
}