diff --git a/src/select/hooks/useSelectOptions.ts b/src/select/hooks/useSelectOptions.ts index 4a65db414..1f1a103b3 100644 --- a/src/select/hooks/useSelectOptions.ts +++ b/src/select/hooks/useSelectOptions.ts @@ -65,6 +65,10 @@ export default function useSelectOptions( // 处理 slots 中 t-option 与 t-option-group const currentSlots = instance.proxy.$slots.default || []; currentSlots.forEach((child) => { + if (!child.componentOptions) { + return; + } + const componentName = getVNodeComponentName(child); if (componentName && componentName === getVueComponentName(Option)) { // 独立选项 diff --git a/src/space/space.tsx b/src/space/space.tsx index 959588a09..375c9ac36 100644 --- a/src/space/space.tsx +++ b/src/space/space.tsx @@ -67,9 +67,13 @@ export default defineComponent({ render() { const { COMPONENT_NAME, spaceClassNames, renderStyle } = this; - const children = this.$slots.default?.filter((child) => child.tag !== undefined || child.text) || []; + const children = this.$slots.default || []; const childCount = children?.length; const renderChildren = () => children.map((child, index) => { + if (!child.tag && !child.text) { + return child; + } + const separatorNode = renderTNodeJSX(this, 'separator'); const showSeparator = index + 1 !== childCount && separatorNode; return [ diff --git a/test/snap/__snapshots__/csr.test.js.snap b/test/snap/__snapshots__/csr.test.js.snap index 478af759b..1d8d9d2fc 100644 --- a/test/snap/__snapshots__/csr.test.js.snap +++ b/test/snap/__snapshots__/csr.test.js.snap @@ -70964,6 +70964,7 @@ exports[`csr snapshot test > csr test ./src/loading/_example/delay.vue 1`] = ` +
csr test ./src/notification/_example/base.vue 1`] =
+ `; @@ -113447,6 +113449,7 @@ exports[`csr snapshot test > csr test ./src/tooltip/_example/duration.vue 1`] = + `; @@ -123824,6 +123827,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -123910,6 +123914,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = `
+ @@ -123969,6 +123974,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` + @@ -124028,6 +124034,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` + @@ -124085,6 +124092,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124143,6 +124151,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124201,6 +124210,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124272,6 +124282,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124358,6 +124369,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = `
+
@@ -124417,6 +124429,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = `
+ @@ -124476,6 +124489,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` + @@ -124533,6 +124547,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124591,6 +124606,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -124649,6 +124665,7 @@ exports[`csr snapshot test > csr test ./src/tree/_example/disabled.vue 1`] = ` class="t-space t-space-horizontal" style="gap: 10px;" > +
@@ -135655,6 +135672,8 @@ exports[`csr snapshot test > csr test ./src/upload/_example/base.vue 1`] = `
+ +
@@ -135678,6 +135697,7 @@ exports[`csr snapshot test > csr test ./src/upload/_example/base.vue 1`] = `
+
csr test ./src/upload/_example/image.vue 1`] = `
+
renders ./src/loading/_example/attach.vue correctly exports[`ssr snapshot test > renders ./src/loading/_example/base.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/loading/_example/delay.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/loading/_example/delay.vue correctly 1`] = `"
"`; exports[`ssr snapshot test > renders ./src/loading/_example/directive.vue correctly 1`] = `"
Loading...
Loading...
Loading...
"`; @@ -708,7 +708,7 @@ exports[`ssr snapshot test > renders ./src/message/_example/toggle.vue correctly exports[`ssr snapshot test > renders ./src/message/_example/type.vue correctly 1`] = `"
用户表示普通操作信息提示
用户表示操作顺利达成
用户表示操作引起一定后果
用户表示操作引起严重的后果
用于帮助用户操作的信息提示
用于表示操作正在生效的过程中
"`; -exports[`ssr snapshot test > renders ./src/notification/_example/base.vue correctly 1`] = `"
标题名称
这是一条消息通知
标题名称
这是一条消息通知(展示 5 秒后消失)
"`; +exports[`ssr snapshot test > renders ./src/notification/_example/base.vue correctly 1`] = `"
标题名称
这是一条消息通知
标题名称
这是一条消息通知(展示 5 秒后消失)
"`; exports[`ssr snapshot test > renders ./src/notification/_example/close.vue correctly 1`] = `"
自定义关闭按钮(false)
这是一条消息通知
自定义关闭按钮(文字)关闭
这是一条消息通知
自定义关闭按钮(函数)close
这是一条消息通知
自定义关闭按钮(插槽)x
这是一条消息通知
"`; @@ -1209,7 +1209,7 @@ exports[`ssr snapshot test > renders ./src/tooltip/_example/arrow.vue correctly exports[`ssr snapshot test > renders ./src/tooltip/_example/base.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/tooltip/_example/duration.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/tooltip/_example/duration.vue correctly 1`] = `"
"`; exports[`ssr snapshot test > renders ./src/tooltip/_example/mouse.vue correctly 1`] = `"文案比较长..."`; @@ -1255,7 +1255,7 @@ exports[`ssr snapshot test > renders ./src/tree/_example/debug-performance.vue c exports[`ssr snapshot test > renders ./src/tree/_example/debug-vscroll.vue correctly 1`] = `"

虚拟滚动 - virtual 模式

动画:
显示连线:
显示图标:
可选:
可操作:
level1 节点数量:
level2 节点数量:
level3 节点数量:
插入节点数量:
filter:
暂无数据
"`; -exports[`ssr snapshot test > renders ./src/tree/_example/disabled.vue correctly 1`] = `"
是否禁用整个 tree:
可选:
可激活:
"`; +exports[`ssr snapshot test > renders ./src/tree/_example/disabled.vue correctly 1`] = `"
是否禁用整个 tree:
可选:
可激活:
"`; exports[`ssr snapshot test > renders ./src/tree/_example/draggable.vue correctly 1`] = `"
1
1.1
1.1.1
1.1.1.1
1.1.1.2
1.1.2
1.1.2.1
1.1.2.2
2
2.1
2.2 不允许拖放为 2.2 的子节点
"`; @@ -1311,7 +1311,7 @@ exports[`ssr snapshot test > renders ./src/tree-select/_example/valuedisplay.vue exports[`ssr snapshot test > renders ./src/tree-select/_example/valuetype.vue correctly 1`] = `"
广州市
深圳市
"`; -exports[`ssr snapshot test > renders ./src/upload/_example/base.vue correctly 1`] = `"

要求文件大小在 1M 以内
文件上传失败示例
"`; +exports[`ssr snapshot test > renders ./src/upload/_example/base.vue correctly 1`] = `"

要求文件大小在 1M 以内
文件上传失败示例
"`; exports[`ssr snapshot test > renders ./src/upload/_example/custom-drag.vue correctly 1`] = `"




"`; @@ -1319,7 +1319,7 @@ exports[`ssr snapshot test > renders ./src/upload/_example/draggable.vue correct exports[`ssr snapshot test > renders ./src/upload/_example/file-flow-list.vue correctly 1`] = `"

支持批量上传文件,文件格式不限,最多只能上传 10 份文件
点击上方“选择文件”或将文件拖拽到此区域
"`; -exports[`ssr snapshot test > renders ./src/upload/_example/image.vue correctly 1`] = `"

  • 点击上传图片

请选择单张图片文件上传(上传成功状态演示)
  • 点击上传图片

请选择单张图片文件上传(上传失败状态演示)
请选择单张图片文件上传(自定义预览图片地址)
  • 点击上传图片

允许选择多张图片文件上传,最多只能上传 3 张图片
"`; +exports[`ssr snapshot test > renders ./src/upload/_example/image.vue correctly 1`] = `"

  • 点击上传图片

请选择单张图片文件上传(上传成功状态演示)
  • 点击上传图片

请选择单张图片文件上传(上传失败状态演示)
请选择单张图片文件上传(自定义预览图片地址)
  • 点击上传图片

允许选择多张图片文件上传,最多只能上传 3 张图片
"`; exports[`ssr snapshot test > renders ./src/upload/_example/img-flow-list.vue correctly 1`] = `"
AutoUpload:

支持批量上传图片文件
  • \\"\\"

    loading.svg


Different Status Images
  • \\"\\"

    loading.svg

  • \\"\\"

    loading.svg

  • 上传中 10%

    loading.svg

  • 上传失败

    loading.svg

"`;