You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.1 KiB

<wxs src="../common/utils.wxs" module="_" />
<view
style="{{_._style([style, customStyle])}}"
class="{{_.cls(classPrefix, [placement, ['block', block]])}} class {{prefix}}-class"
disabled="{{disabled}}"
aria-role="radio"
aria-checked="{{checked}}"
aria-label="{{label + content}}"
aria-disabled="{{disabled}}"
tabindex="{{tabindex}}"
bind:tap="handleTap"
>
<view
class="{{_.cls(classPrefix + '__icon', [placement, ['checked', checked], ['disabled', disabled]])}} {{prefix}}-class-icon"
>
<slot name="icon" wx:if="{{slotIcon}}" />
<view wx:elif="{{customIcon}}" class="{{classPrefix}}__image">
<image src="{{checked ? iconVal[0] : iconVal[1]}}" class="{{classPrefix}}-icon__image" webp />
</view>
<block wx:else>
<t-icon
wx:if="{{checked && (icon == 'circle' || icon == 'line')}}"
name="{{icon == 'circle' ? 'check-circle-filled' : 'check'}}"
class="{{classPrefix}}__icon-wrap"
/>
<view
wx:if="{{checked && icon == 'dot'}}"
class="{{_.cls(classPrefix + '__icon-' + icon, [['disabled', disabled]])}}"
/>
<view
wx:if="{{!checked && (icon == 'circle' || icon == 'dot')}}"
class="{{_.cls(classPrefix + '__icon-circle', [['disabled', disabled]])}}"
></view>
<!-- line && unchecked 为空 需要展位元素 -->
<view wx:if="{{!checked && icon == 'line'}}" class="placeholder"></view>
</block>
</view>
<view class="{{classPrefix}}__content" data-target="text" catch:tap="handleTap">
<view
class="{{classPrefix}}__title {{disabled ? classPrefix + '__title--disabled' : ''}} {{prefix}}-class-label"
style="-webkit-line-clamp:{{maxLabelRow}}"
>
{{label}}
<slot />
<slot name="label" />
</view>
<view
class="{{classPrefix}}__description {{disabled ? classPrefix + '__description--disabled' : ''}} {{prefix}}-class-content "
style="-webkit-line-clamp:{{maxContentRow}}"
>
{{content}}
<slot name="content" />
</view>
</view>
<view wx:if="{{!borderless}}" class="{{_.cls(classPrefix + '__border', [placement])}} {{prefix}}-class-border" />
</view>