mirror of
https://gitee.com/ant-design-blazor/ant-design-blazor.git
synced 2024-12-15 01:11:52 +08:00
152a574577
* feat(module:overlay): OverlayTrigger not bound to a div * feat(module:overlay): OverlayTrigger not bound to a div * feat(module:overlay): Logic transfer to single Overlay * feat(module:overlay): remove obsolete duplication * feat(module:Tooltip): Add for unbounded oncontextmenu event handler * feat(module:tooltip): unbound js event listeners remove * docs(module:tooltip): unbound explanation * fix(module:button): attach Ref to top level html element @ref * feat(module:dropdown&tooltip&popconfirm&popover): Overlay not bound to a div * docs(module:dropdown&tooltip&popconfirm&popover): unbound explanation * feat(module:OverlayTrigger): common logic relocation * feat(module:overlaytrigger): Overlay not bound to a div * feat(module:DatePicker): Overlay not bound to a div * feat(module:select): Overlay not boud to div * fix(module:select): onclickarrow event relocation * fix(module:select): rename Show to OnArrowClick * feat(module:avatar): Overlay not bound to a div * docs(module:avatar): demo switch to unbound version * feat(module:autocomplete): partial OverlayTrigger not bound to a div * feat(module:slider): tooltip * docs(module:slider): tooltip * fix(module:overlay): add SetVisible method * feat: set Ref where missing, performance components register Ref when missing IsFixed flag for CascadeValue changed hard-code sequence numbers when using RenderTreeBuilder Rate component use Tooltip Unbound version Tabs test fix * fix: revert changes (accidental) * feat(module:upload): tooltip with unbound usage * feat(module:table): column use of unbound tooltip * feat(module:autocomplete):overlay unbound from div * fix(module:upload): missing div restore Co-authored-by: James Yeung <shunjiey@hotmail.com>
69 lines
3.1 KiB
C#
69 lines
3.1 KiB
C#
@namespace AntDesign
|
|
@inherits AntInputComponentBase<string>
|
|
@typeparam TOption
|
|
@using AntDesign.Internal
|
|
|
|
<CascadingValue Value='$"ant-select-dropdown"' Name="PrefixCls">
|
|
<OverlayTrigger @ref="_overlayTrigger"
|
|
Style="display: inline"
|
|
IsButton="@true"
|
|
Disabled="false"
|
|
Trigger="new TriggerType[] { TriggerType.Click }"
|
|
PopupContainerSelector="@PopupContainerSelector"
|
|
OverlayEnterCls="slide-up-enter slide-up-enter-active slide-up"
|
|
OverlayLeaveCls="slide-up-leave slide-up-leave-active slide-up"
|
|
OverlayClassName="@OverlayClassName"
|
|
OverlayStyle="@OverlayStyle"
|
|
OnVisibleChange="@OnOverlayTriggerVisibleChange">
|
|
<Overlay>
|
|
<CascadingValue Value="this" IsFixed="@true">
|
|
@if (ShowPanel && !_isOptionsZero)
|
|
{
|
|
<div style="max-height: 256px; overflow-y: auto; overflow-anchor: none; @_minWidth">
|
|
<div style="display: flex;flex-direction: column;">
|
|
|
|
@if (OverlayTemplate != null)
|
|
{
|
|
@OverlayTemplate
|
|
}
|
|
else
|
|
{
|
|
@if (OptionTemplate != null)
|
|
{
|
|
@foreach (var option in GetOptionItems())
|
|
{
|
|
@OptionTemplate(option)
|
|
}
|
|
}
|
|
else
|
|
{
|
|
@foreach (var option in GetOptionItems())
|
|
{
|
|
var label = OptionFormat == null ? option.Label : OptionFormat(option);
|
|
<AutoCompleteOption Value="@option.Value" Label="@option.Label" Disabled="option.IsDisabled">
|
|
@label
|
|
</AutoCompleteOption>
|
|
}
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|
|
</CascadingValue>
|
|
</Overlay>
|
|
<Unbound>
|
|
<CascadingValue Value="this" IsFixed="@true">
|
|
@if (ChildContent == null)
|
|
{
|
|
<AutoCompleteInput RefBack="context" @bind-Value="@CurrentValue" Placeholder="@Placeholder" Disabled="@Disabled" Style="@Style" Id="@Id" />
|
|
}
|
|
else
|
|
{
|
|
<CascadingValue Value="context" Name="OverlayTriggerContext">
|
|
@ChildContent
|
|
</CascadingValue>
|
|
}
|
|
</CascadingValue>
|
|
</Unbound>
|
|
</OverlayTrigger>
|
|
</CascadingValue> |