From af6d9e52012868cea90dedb7b57927a0b5c98cc0 Mon Sep 17 00:00:00 2001 From: Uyarn Date: Mon, 13 Jun 2022 11:33:00 +0800 Subject: [PATCH 1/6] fix(pagination): select autoWidth --- src/pagination/pagination.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pagination/pagination.tsx b/src/pagination/pagination.tsx index 439b91c99..bfd4ef004 100644 --- a/src/pagination/pagination.tsx +++ b/src/pagination/pagination.tsx @@ -315,6 +315,7 @@ export default mixins(getConfigReceiverMixins('pagination disabled={this.disabled} class={this.sizerClass} onChange={this.onSelectorChange} + autoWidth={true} > {this.sizeOptions.map((item, index) => ( @@ -382,6 +383,7 @@ export default mixins(getConfigReceiverMixins('pagination class={this.simpleClass} onChange={this.toPage} options={this.pageCountOption} + autoWidth={true} /> ) : null} {/* 向后按钮 */} From 2377a71ee85a2e8202778ee33e79f075c915e24b Mon Sep 17 00:00:00 2001 From: Uyarn Date: Mon, 13 Jun 2022 14:03:56 +0800 Subject: [PATCH 2/6] chore: optimize virtual scroll demo and update snapshot --- examples/select/demos/virtual-scroll.vue | 9 +- test/ssr/__snapshots__/ssr.test.js.snap | 88 ++++++++--------- .../__snapshots__/demo.test.js.snap | 7 +- .../__snapshots__/demo.test.js.snap | 98 ++++++++++++++++--- .../table/__snapshots__/demo.test.js.snap | 42 ++++++-- .../transfer/__snapshots__/demo.test.js.snap | 7 +- 6 files changed, 184 insertions(+), 67 deletions(-) diff --git a/examples/select/demos/virtual-scroll.vue b/examples/select/demos/virtual-scroll.vue index 07780228b..543eeed40 100644 --- a/examples/select/demos/virtual-scroll.vue +++ b/examples/select/demos/virtual-scroll.vue @@ -1,6 +1,13 @@ diff --git a/test/ssr/__snapshots__/ssr.test.js.snap b/test/ssr/__snapshots__/ssr.test.js.snap index c226e8eff..769946aae 100644 --- a/test/ssr/__snapshots__/ssr.test.js.snap +++ b/test/ssr/__snapshots__/ssr.test.js.snap @@ -4874,8 +4874,8 @@ exports[`ssr snapshot test renders ./examples/config-provider/demos/pagination.v
Total 36 items
-
-
+
+
10
@@ -10136,8 +10136,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/base.vue correctl
共 36 项数据
-
-
+
+
5
@@ -10162,8 +10162,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/base.vue correctl
共 36 项数据
-
-
+
+
10
@@ -10195,8 +10195,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/customizable.vue
共 200 项数据
-
-
+
+
20
@@ -10233,8 +10233,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/disabled.vue corr
共 100 项数据
-
-
+
+
5
@@ -10270,8 +10270,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/few.vue correctly
共 49 项数据
-
-
+
+
10
@@ -10298,8 +10298,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/jump.vue correctl
共 101 项数据
-
-
+
+
20
@@ -10332,8 +10332,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/mini.vue correctl
共 100 项数据
-
-
+
+
5
@@ -10364,8 +10364,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/more.vue correctl
共 100 项数据
-
-
+
+
5
@@ -10400,8 +10400,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/page-num.vue corr
共 645 项数据
-
-
+
+
30
@@ -10432,8 +10432,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/simple.vue correc
共 100 项数据
-
-
+
+
5
@@ -10442,8 +10442,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/simple.vue correc
-
-
+
+
1/20
@@ -10459,8 +10459,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/simple-mini.vue c
共 100 项数据
-
-
+
+
5
@@ -10469,8 +10469,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/simple-mini.vue c
-
-
+
+
1/20
@@ -10486,8 +10486,8 @@ exports[`ssr snapshot test renders ./examples/pagination/demos/total.vue correct
共 685 项数据
-
-
+
+
10
@@ -13697,8 +13697,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/base.vue correctly 1`]
共 28 项数据
-
-
+
+
5
@@ -13880,8 +13880,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/custom-col.vue correct
共 100 项数据
-
-
+
+
5
@@ -14017,8 +14017,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/custom-col-button.vue
共 100 项数据
-
-
+
+
5
@@ -16338,8 +16338,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/pagination.vue correct
共 60 项数据
-
-
+
+
5
@@ -16416,8 +16416,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/pagination-ajax.vue co
共 0 项数据
-
-
+
+
10
@@ -16961,8 +16961,8 @@ exports[`ssr snapshot test renders ./examples/table/demos/tree.vue correctly 1`]
共 5 项数据
-
-
+
+
10
@@ -18286,8 +18286,8 @@ exports[`ssr snapshot test renders ./examples/transfer/demos/pagination.vue corr
-
-
+
+
1/2
diff --git a/test/unit/config-provider/__snapshots__/demo.test.js.snap b/test/unit/config-provider/__snapshots__/demo.test.js.snap index 0dbccd238..646504cc0 100644 --- a/test/unit/config-provider/__snapshots__/demo.test.js.snap +++ b/test/unit/config-provider/__snapshots__/demo.test.js.snap @@ -3170,7 +3170,7 @@ exports[`ConfigProvider ConfigProvider paginationVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + diff --git a/test/unit/pagination/__snapshots__/demo.test.js.snap b/test/unit/pagination/__snapshots__/demo.test.js.snap index e2ccbd1b2..cf2346d9d 100644 --- a/test/unit/pagination/__snapshots__/demo.test.js.snap +++ b/test/unit/pagination/__snapshots__/demo.test.js.snap @@ -17,7 +17,7 @@ exports[`Pagination Pagination baseVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -150,7 +155,7 @@ exports[`Pagination Pagination baseVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + @@ -299,7 +309,7 @@ exports[`Pagination Pagination customizableVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 20 + @@ -471,7 +486,7 @@ exports[`Pagination Pagination disabledVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -641,7 +661,7 @@ exports[`Pagination Pagination fewVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + @@ -760,7 +785,7 @@ exports[`Pagination Pagination jumpVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 20 + @@ -911,7 +941,7 @@ exports[`Pagination Pagination miniVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -1053,7 +1088,7 @@ exports[`Pagination Pagination moreVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -1217,7 +1257,7 @@ exports[`Pagination Pagination pageNumVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 30 + @@ -1358,7 +1403,7 @@ exports[`Pagination Pagination simpleMiniVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -1418,7 +1468,7 @@ exports[`Pagination Pagination simpleMiniVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 1/20 + @@ -1490,7 +1545,7 @@ exports[`Pagination Pagination simpleVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -1550,7 +1610,7 @@ exports[`Pagination Pagination simpleVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 1/20 + @@ -1623,7 +1688,7 @@ exports[`Pagination Pagination totalVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + diff --git a/test/unit/table/__snapshots__/demo.test.js.snap b/test/unit/table/__snapshots__/demo.test.js.snap index 30064f134..46f30015b 100644 --- a/test/unit/table/__snapshots__/demo.test.js.snap +++ b/test/unit/table/__snapshots__/demo.test.js.snap @@ -1517,7 +1517,7 @@ exports[`Table Table baseVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -2269,7 +2274,7 @@ exports[`Table Table customColButtonVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -2720,7 +2730,7 @@ exports[`Table Table customColVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -17257,7 +17272,7 @@ exports[`Table Table paginationAjaxVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + @@ -17683,7 +17703,7 @@ exports[`Table Table paginationVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 5 + @@ -20914,7 +20939,7 @@ exports[`Table Table treeVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 10 + diff --git a/test/unit/transfer/__snapshots__/demo.test.js.snap b/test/unit/transfer/__snapshots__/demo.test.js.snap index 2afc85577..04f784981 100644 --- a/test/unit/transfer/__snapshots__/demo.test.js.snap +++ b/test/unit/transfer/__snapshots__/demo.test.js.snap @@ -3332,7 +3332,7 @@ exports[`Transfer Transfer paginationVue demo works fine 1`] = ` class="t-input__wrap t-select" >
+ + 1/2 + From c923077eab56f73e831982d33a1414c79fd742de Mon Sep 17 00:00:00 2001 From: krist <66660723@qq.com> Date: Mon, 13 Jun 2022 14:06:37 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix(select):=20t-option=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9B?= =?UTF-8?q?=E5=88=86=E7=BB=84=E5=88=97=E8=A1=A8css=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E5=8F=AA=E5=B1=95=E7=A4=BA=E6=A0=87?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/select/optionGroup.tsx | 20 +++++--------------- src/select/select-panel.tsx | 2 +- src/select/select.tsx | 3 ++- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/select/optionGroup.tsx b/src/select/optionGroup.tsx index e3e070ac3..df838740c 100644 --- a/src/select/optionGroup.tsx +++ b/src/select/optionGroup.tsx @@ -1,5 +1,5 @@ import { - computed, defineComponent, ref, toRefs, watch, onMounted, inject, + computed, defineComponent, ref, toRefs, inject, } from '@vue/composition-api'; import Vue from 'vue'; import { ScopedSlotReturnValue } from 'vue/types/vnode'; @@ -25,7 +25,6 @@ export default defineComponent({ setup(props: TdOptionGroupProps) { const { divider } = toRefs(props); const ulRef = ref(null); - const visible = ref(true); const tSelect: any = inject('tSelect'); const classes = computed(() => [ name, @@ -34,18 +33,7 @@ export default defineComponent({ [`${name}__divider`]: divider, }, ]); - const childrenChange = () => { - visible.value = [...(ulRef.value?.children || [])]?.some((liItem) => (liItem as any).__vue__.show === true); - }; - onMounted(() => { - // 首次载入的时候也更新一次 - childrenChange(); - }); - watch(tSelect.displayOptions, () => { - childrenChange(); - }); return { - visible, classes, ulRef, }; @@ -54,9 +42,11 @@ export default defineComponent({ const renderTNode = useTNodeJSX(); const children: ScopedSlotReturnValue = renderTNode('default'); return ( -
  • +
  • {this.label}
    -
      {children}
    +
      + {children} +
  • ); }, diff --git a/src/select/select-panel.tsx b/src/select/select-panel.tsx index f85f331bf..fb721463d 100644 --- a/src/select/select-panel.tsx +++ b/src/select/select-panel.tsx @@ -243,7 +243,7 @@ export default defineComponent({ optionsContent = (visibleData || options).map((groupList: SelectOptionGroup) => { const children = groupList.children.filter((item) => tSelect.displayOptionsMap.value.get(item)); return ( - + {this.renderSingleOption(children)} ); diff --git a/src/select/select.tsx b/src/select/select.tsx index 4f4637b4b..5d5e856a4 100644 --- a/src/select/select.tsx +++ b/src/select/select.tsx @@ -579,7 +579,8 @@ export default defineComponent({ const initOptions = () => { if (realOptions.value.length || isInit.value) return; - const children = renderTNode('default'); + // 这里直接使用 context.slots 没办法拿到后续渲染赋进来的 default slots,采用如下方法动态获取 + const children = getCurrentInstance().vnode.componentInstance.$scopedSlots.default?.({}); if (children) { realOptions.value = parseOptions(children); isInit.value = true; From d155e87e1865fb94cfc8c570d215f0fb7d5617fc Mon Sep 17 00:00:00 2001 From: krist <66660723@qq.com> Date: Mon, 13 Jun 2022 14:16:12 +0800 Subject: [PATCH 4/6] =?UTF-8?q?chore(select):=20demo=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/select/demos/noborder.vue | 3 ++- test/ssr/__snapshots__/ssr.test.js.snap | 4 ++-- test/unit/select/__snapshots__/demo.test.js.snap | 7 ++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/select/demos/noborder.vue b/examples/select/demos/noborder.vue index afa95a59d..f102b758b 100644 --- a/examples/select/demos/noborder.vue +++ b/examples/select/demos/noborder.vue @@ -3,9 +3,10 @@
    diff --git a/test/ssr/__snapshots__/ssr.test.js.snap b/test/ssr/__snapshots__/ssr.test.js.snap index c226e8eff..a59b7d6f6 100644 --- a/test/ssr/__snapshots__/ssr.test.js.snap +++ b/test/ssr/__snapshots__/ssr.test.js.snap @@ -11421,8 +11421,8 @@ exports[`ssr snapshot test renders ./examples/select/demos/noborder.vue correctl
    -
    -
    +
    +
    已选择的选项
    diff --git a/test/unit/select/__snapshots__/demo.test.js.snap b/test/unit/select/__snapshots__/demo.test.js.snap index 8f4401b5a..0fbc7e491 100644 --- a/test/unit/select/__snapshots__/demo.test.js.snap +++ b/test/unit/select/__snapshots__/demo.test.js.snap @@ -1278,7 +1278,7 @@ exports[`Select Select noborderVue demo works fine 1`] = ` class="t-input__wrap t-select-input--borderless t-select" >
    + + 已选择的选项 + From b4ff2eda13a69448606c7adeaf4380d2143fa8a6 Mon Sep 17 00:00:00 2001 From: Uyarn Date: Mon, 13 Jun 2022 14:46:02 +0800 Subject: [PATCH 5/6] chore: optimize demo --- examples/select/demos/prefix.vue | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/examples/select/demos/prefix.vue b/examples/select/demos/prefix.vue index 3f46b4788..676b2b42b 100644 --- a/examples/select/demos/prefix.vue +++ b/examples/select/demos/prefix.vue @@ -1,16 +1,7 @@ From 189afd797dc608f5ca47b9621c5825f534968ae4 Mon Sep 17 00:00:00 2001 From: Uyarn Date: Mon, 13 Jun 2022 15:20:50 +0800 Subject: [PATCH 6/6] chore: update common --- examples/select/demos/virtual-scroll.vue | 2 +- test/ssr/__snapshots__/ssr.test.js.snap | 2 +- test/unit/select/__snapshots__/demo.test.js.snap | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/select/demos/virtual-scroll.vue b/examples/select/demos/virtual-scroll.vue index 543eeed40..13da981f1 100644 --- a/examples/select/demos/virtual-scroll.vue +++ b/examples/select/demos/virtual-scroll.vue @@ -16,7 +16,7 @@ export default { data() { const options = []; for (let i = 0; i < 1000; i++) { - options.push({ label: `选项${i}`, value: String(i) }); + options.push({ label: `选项${i + 1}`, value: String(i) }); } return { value: '', diff --git a/test/ssr/__snapshots__/ssr.test.js.snap b/test/ssr/__snapshots__/ssr.test.js.snap index 2b78fc788..15db26c82 100644 --- a/test/ssr/__snapshots__/ssr.test.js.snap +++ b/test/ssr/__snapshots__/ssr.test.js.snap @@ -11472,7 +11472,7 @@ exports[`ssr snapshot test renders ./examples/select/demos/prefix.vue correctly
    -
    +
    diff --git a/test/unit/select/__snapshots__/demo.test.js.snap b/test/unit/select/__snapshots__/demo.test.js.snap index 0fbc7e491..88676c7d4 100644 --- a/test/unit/select/__snapshots__/demo.test.js.snap +++ b/test/unit/select/__snapshots__/demo.test.js.snap @@ -1522,6 +1522,7 @@ exports[`Select Select prefixVue demo works fine 1`] = ` >