fix(cascader): fix When using slots in cascader-panel, the mf template will error (#3537)
This commit is contained in:
parent
80cb2c3047
commit
768fc7b709
|
@ -45,6 +45,7 @@ export const renderless = (
|
|||
inActivePath: computed(() => api.isInPath(parent.state.activePath)),
|
||||
inCheckedPath: computed(() => api.comptCheckPath()),
|
||||
value: computed(() => props.node.getValueByOption()),
|
||||
// 仅 mf 用到nodeLabel
|
||||
nodeLabel: computed(() => {
|
||||
return parent.state.renderLabelFn
|
||||
? parent.state.renderLabelFn({ node: props.node, data: props.node.data })
|
||||
|
|
|
@ -16,7 +16,12 @@
|
|||
)
|
||||
"
|
||||
>
|
||||
<span :class="[node ? gcls('cascader-node__label_disabled') : '']">{{ state.nodeLabel }}</span>
|
||||
<span v-if="typeof state.nodeLabel === 'string'" :class="[node ? gcls('cascader-node__label_disabled') : '']">
|
||||
{{ state.nodeLabel }}
|
||||
</span>
|
||||
<span v-else :class="[node ? gcls('cascader-node__label_disabled') : '']">
|
||||
<render-node-label :vnode="state.nodeLabel" />
|
||||
</span>
|
||||
<icon-loading v-if="node.loading" :class="gcls('cascader-node__postfix')"></icon-loading>
|
||||
<icon-chevron-right
|
||||
v-else-if="!state.isLeaf"
|
||||
|
@ -43,7 +48,15 @@ export default defineComponent({
|
|||
name: $prefix + 'CascaderNode',
|
||||
components: {
|
||||
IconLoading: IconLoading(),
|
||||
IconChevronRight: IconChevronRight()
|
||||
IconChevronRight: IconChevronRight(),
|
||||
RenderNodeLabel: {
|
||||
name: 'AnyNode',
|
||||
functional: true,
|
||||
props: ['vnode'],
|
||||
render(h, ctx) {
|
||||
return h.vnode || ctx.props?.vnode // 兼容vue2,3的写法
|
||||
}
|
||||
}
|
||||
},
|
||||
inheritAttrs: false,
|
||||
emits: ['expand', 'update:modelValue', 'expand-change', 'active-item-change', 'change'],
|
||||
|
|
|
@ -119,6 +119,7 @@ export default defineComponent({
|
|||
|
||||
const vnode = render ? render({ node, data: node.data }) : null
|
||||
|
||||
// 可用 state.nodeLabel 简化
|
||||
return <span class="tiny-cascader-node__label">{vnode || node.label}</span>
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue