city-casereport/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxml

82 lines
2.4 KiB
Plaintext
Raw Permalink Normal View History

2023-12-06 14:22:42 +08:00
<wxs module="_" src="../common/utils.wxs" />
<wxs module="this" src="./index.wxs" />
<view class="{{classPrefix}} class" style="{{_._style(['height:' + _.addUnit(height) , style, customStyle])}}">
<scroll-view
scroll-y
enhanced
show-scrollbar="{{false}}"
class="{{_.cls(classPrefix + '__column', [this.getTreeClass(leafLevel - level, treeOptions.length)])}} {{prefix}}-class"
wx:for="{{treeOptions}}"
wx:key="level"
wx:for-index="level"
>
<t-side-bar
wx:if="{{level == 0}}"
value="{{value[level]}}"
bind:change="onRootChange"
t-class="{{classPrefix}}-column {{prefix}}-class-left-column"
>
<t-side-bar-item
wx:for="{{treeOptions[level]}}"
wx:key="index"
label="{{item.label}}"
value="{{item.value}}"
t-class="{{prefix}}-class-left-item"
/>
</t-side-bar>
<block wx:elif="{{level != leafLevel}}">
<view
wx:for="{{treeOptions[level]}}"
wx:key="value"
bind:tap="handleTreeClick"
data-level="{{level}}"
data-value="{{item.value}}"
class="{{_.cls(classPrefix + '__item', [['active', item.value === value[level]]])}} {{prefix}}-class-middle-item"
>
{{item.label}}
</view>
</block>
<t-radio-group
wx:elif="{{!multiple}}"
class="{{classPrefix}}__radio {{prefix}}-class-right-column"
data-level="{{level}}"
value="{{value[level]}}"
bind:change="handleRadioChange"
>
<t-radio
wx:for="{{treeOptions[level]}}"
wx:key="value"
icon="line"
class="{{classPrefix}}__radio-item {{prefix}}-class-right-item"
t-class-label="{{prefix}}-class-right-item-label"
value="{{item.value}}"
maxLabelRow="{{1}}"
borderless
placement="right"
>{{item.label}}</t-radio
>
</t-radio-group>
<t-checkbox-group
wx:else
class="{{classPrefix}}__checkbox {{prefix}}-class-right-column"
value="{{value[level]}}"
bind:change="handleRadioChange"
data-level="{{level}}"
>
<t-checkbox
wx:for="{{treeOptions[level]}}"
wx:key="value"
placement="right"
icon="line"
maxLabelRow="{{1}}"
class="{{prefix}}-class-right-item"
t-class-label="{{prefix}}-class-right-item-label"
borderless
value="{{item.value}}"
>{{item.label}}</t-checkbox
>
</t-checkbox-group>
</scroll-view>
</view>