From 951216e5f49accc2c2c053a14d373c57836649f8 Mon Sep 17 00:00:00 2001 From: "Y." Date: Thu, 17 Oct 2024 10:29:46 +0800 Subject: [PATCH] feat(Picker): add option props (#1623) * feat(Picker): add option props * test: update snapshots --- .../__test__/__snapshots__/demo.test.jsx.snap | 236 +++ .../__test__/__snapshots__/demo.test.jsx.snap | 1332 +++++++++++++++++ .../__snapshots__/index.test.jsx.snap | 128 ++ .../__test__/__snapshots__/demo.test.jsx.snap | 306 ++++ .../__test__/__snapshots__/demo.test.jsx.snap | 120 ++ src/picker/demos/base.vue | 10 +- src/picker/picker-item.tsx | 6 +- src/picker/picker.en-US.md | 1 + src/picker/picker.md | 1 + src/picker/picker.tsx | 3 +- src/picker/props.ts | 4 + src/picker/type.ts | 4 + 12 files changed, 2148 insertions(+), 3 deletions(-) diff --git a/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap b/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap index c4c3cc58e..36594e714 100644 --- a/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/config-provider/__test__/__snapshots__/demo.test.jsx.snap @@ -3259,82 +3259,114 @@ exports[`ConfigProvider > ConfigProvider mobileVue demo works fine 1`] = `
  • + 2015 Year +
  • + 2016 Year +
  • + 2017 Year +
  • + 2018 Year +
  • + 2019 Year +
  • + 2020 Year +
  • + 2021 Year +
  • + 2022 Year +
  • + 2023 Year +
  • + 2024 Year +
  • + 2025 Year +
  • + 2026 Year +
  • + 2027 Year +
  • + 2028 Year +
  • + 2029 Year +
  • + 2030 Year +
  • @@ -3350,62 +3382,86 @@ exports[`ConfigProvider > ConfigProvider mobileVue demo works fine 1`] = `
  • + 1 Month +
  • + 2 Month +
  • + 3 Month +
  • + 4 Month +
  • + 5 Month +
  • + 6 Month +
  • + 7 Month +
  • + 8 Month +
  • + 9 Month +
  • + 10 Month +
  • + 11 Month +
  • + 12 Month +
  • @@ -3421,157 +3477,219 @@ exports[`ConfigProvider > ConfigProvider mobileVue demo works fine 1`] = `
  • + 1 Date +
  • + 2 Date +
  • + 3 Date +
  • + 4 Date +
  • + 5 Date +
  • + 6 Date +
  • + 7 Date +
  • + 8 Date +
  • + 9 Date +
  • + 10 Date +
  • + 11 Date +
  • + 12 Date +
  • + 13 Date +
  • + 14 Date +
  • + 15 Date +
  • + 16 Date +
  • + 17 Date +
  • + 18 Date +
  • + 19 Date +
  • + 20 Date +
  • + 21 Date +
  • + 22 Date +
  • + 23 Date +
  • + 24 Date +
  • + 25 Date +
  • + 26 Date +
  • + 27 Date +
  • + 28 Date +
  • + 29 Date +
  • + 30 Date +
  • + 31 Date +
  • @@ -6418,82 +6536,114 @@ exports[`ConfigProvider > ConfigProvider otherEnVue demo works fine 1`] = `
  • + 2015 Year +
  • + 2016 Year +
  • + 2017 Year +
  • + 2018 Year +
  • + 2019 Year +
  • + 2020 Year +
  • + 2021 Year +
  • + 2022 Year +
  • + 2023 Year +
  • + 2024 Year +
  • + 2025 Year +
  • + 2026 Year +
  • + 2027 Year +
  • + 2028 Year +
  • + 2029 Year +
  • + 2030 Year +
  • @@ -6509,62 +6659,86 @@ exports[`ConfigProvider > ConfigProvider otherEnVue demo works fine 1`] = `
  • + 1 Month +
  • + 2 Month +
  • + 3 Month +
  • + 4 Month +
  • + 5 Month +
  • + 6 Month +
  • + 7 Month +
  • + 8 Month +
  • + 9 Month +
  • + 10 Month +
  • + 11 Month +
  • + 12 Month +
  • @@ -6580,157 +6754,219 @@ exports[`ConfigProvider > ConfigProvider otherEnVue demo works fine 1`] = `
  • + 1 Date +
  • + 2 Date +
  • + 3 Date +
  • + 4 Date +
  • + 5 Date +
  • + 6 Date +
  • + 7 Date +
  • + 8 Date +
  • + 9 Date +
  • + 10 Date +
  • + 11 Date +
  • + 12 Date +
  • + 13 Date +
  • + 14 Date +
  • + 15 Date +
  • + 16 Date +
  • + 17 Date +
  • + 18 Date +
  • + 19 Date +
  • + 20 Date +
  • + 21 Date +
  • + 22 Date +
  • + 23 Date +
  • + 24 Date +
  • + 25 Date +
  • + 26 Date +
  • + 27 Date +
  • + 28 Date +
  • + 29 Date +
  • + 30 Date +
  • + 31 Date +
  • diff --git a/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap b/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap index 4faee6a4a..2156419e1 100644 --- a/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/date-time-picker/__test__/__snapshots__/demo.test.jsx.snap @@ -86,102 +86,142 @@ exports[`DateTimePicker > DateTimePicker baseVue demo works fine 1`] = `
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -197,62 +237,86 @@ exports[`DateTimePicker > DateTimePicker baseVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -268,157 +332,219 @@ exports[`DateTimePicker > DateTimePicker baseVue demo works fine 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -528,32 +654,44 @@ exports[`DateTimePicker > DateTimePicker customRangeVue demo works fine 1`] = `
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • @@ -569,62 +707,86 @@ exports[`DateTimePicker > DateTimePicker customRangeVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -640,157 +802,219 @@ exports[`DateTimePicker > DateTimePicker customRangeVue demo works fine 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -900,107 +1124,149 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 2014 年 +
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -1016,62 +1282,86 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -1087,157 +1377,219 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -1253,122 +1605,170 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 0 时 +
  • + 1 时 +
  • + 2 时 +
  • + 3 时 +
  • + 4 时 +
  • + 5 时 +
  • + 6 时 +
  • + 7 时 +
  • + 8 时 +
  • + 9 时 +
  • + 10 时 +
  • + 11 时 +
  • + 12 时 +
  • + 13 时 +
  • + 14 时 +
  • + 15 时 +
  • + 16 时 +
  • + 17 时 +
  • + 18 时 +
  • + 19 时 +
  • + 20 时 +
  • + 21 时 +
  • + 22 时 +
  • + 23 时 +
  • @@ -1384,302 +1784,422 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 0 分 +
  • + 1 分 +
  • + 2 分 +
  • + 3 分 +
  • + 4 分 +
  • + 5 分 +
  • + 6 分 +
  • + 7 分 +
  • + 8 分 +
  • + 9 分 +
  • + 10 分 +
  • + 11 分 +
  • + 12 分 +
  • + 13 分 +
  • + 14 分 +
  • + 15 分 +
  • + 16 分 +
  • + 17 分 +
  • + 18 分 +
  • + 19 分 +
  • + 20 分 +
  • + 21 分 +
  • + 22 分 +
  • + 23 分 +
  • + 24 分 +
  • + 25 分 +
  • + 26 分 +
  • + 27 分 +
  • + 28 分 +
  • + 29 分 +
  • + 30 分 +
  • + 31 分 +
  • + 32 分 +
  • + 33 分 +
  • + 34 分 +
  • + 35 分 +
  • + 36 分 +
  • + 37 分 +
  • + 38 分 +
  • + 39 分 +
  • + 40 分 +
  • + 41 分 +
  • + 42 分 +
  • + 43 分 +
  • + 44 分 +
  • + 45 分 +
  • + 46 分 +
  • + 47 分 +
  • + 48 分 +
  • + 49 分 +
  • + 50 分 +
  • + 51 分 +
  • + 52 分 +
  • + 53 分 +
  • + 54 分 +
  • + 55 分 +
  • + 56 分 +
  • + 57 分 +
  • + 58 分 +
  • + 59 分 +
  • @@ -1695,302 +2215,422 @@ exports[`DateTimePicker > DateTimePicker fullVue demo works fine 1`] = `
  • + 0 秒 +
  • + 1 秒 +
  • + 2 秒 +
  • + 3 秒 +
  • + 4 秒 +
  • + 5 秒 +
  • + 6 秒 +
  • + 7 秒 +
  • + 8 秒 +
  • + 9 秒 +
  • + 10 秒 +
  • + 11 秒 +
  • + 12 秒 +
  • + 13 秒 +
  • + 14 秒 +
  • + 15 秒 +
  • + 16 秒 +
  • + 17 秒 +
  • + 18 秒 +
  • + 19 秒 +
  • + 20 秒 +
  • + 21 秒 +
  • + 22 秒 +
  • + 23 秒 +
  • + 24 秒 +
  • + 25 秒 +
  • + 26 秒 +
  • + 27 秒 +
  • + 28 秒 +
  • + 29 秒 +
  • + 30 秒 +
  • + 31 秒 +
  • + 32 秒 +
  • + 33 秒 +
  • + 34 秒 +
  • + 35 秒 +
  • + 36 秒 +
  • + 37 秒 +
  • + 38 秒 +
  • + 39 秒 +
  • + 40 秒 +
  • + 41 秒 +
  • + 42 秒 +
  • + 43 秒 +
  • + 44 秒 +
  • + 45 秒 +
  • + 46 秒 +
  • + 47 秒 +
  • + 48 秒 +
  • + 49 秒 +
  • + 50 秒 +
  • + 51 秒 +
  • + 52 秒 +
  • + 53 秒 +
  • + 54 秒 +
  • + 55 秒 +
  • + 56 秒 +
  • + 57 秒 +
  • + 58 秒 +
  • + 59 秒 +
  • @@ -2131,102 +2771,142 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -2242,62 +2922,86 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -2313,157 +3017,219 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -2566,107 +3332,149 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 2014 年 +
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -2682,62 +3490,86 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -2840,122 +3672,170 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 0 时 +
  • + 1 时 +
  • + 2 时 +
  • + 3 时 +
  • + 4 时 +
  • + 5 时 +
  • + 6 时 +
  • + 7 时 +
  • + 8 时 +
  • + 9 时 +
  • + 10 时 +
  • + 11 时 +
  • + 12 时 +
  • + 13 时 +
  • + 14 时 +
  • + 15 时 +
  • + 16 时 +
  • + 17 时 +
  • + 18 时 +
  • + 19 时 +
  • + 20 时 +
  • + 21 时 +
  • + 22 时 +
  • + 23 时 +
  • @@ -2971,302 +3851,422 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 0 分 +
  • + 1 分 +
  • + 2 分 +
  • + 3 分 +
  • + 4 分 +
  • + 5 分 +
  • + 6 分 +
  • + 7 分 +
  • + 8 分 +
  • + 9 分 +
  • + 10 分 +
  • + 11 分 +
  • + 12 分 +
  • + 13 分 +
  • + 14 分 +
  • + 15 分 +
  • + 16 分 +
  • + 17 分 +
  • + 18 分 +
  • + 19 分 +
  • + 20 分 +
  • + 21 分 +
  • + 22 分 +
  • + 23 分 +
  • + 24 分 +
  • + 25 分 +
  • + 26 分 +
  • + 27 分 +
  • + 28 分 +
  • + 29 分 +
  • + 30 分 +
  • + 31 分 +
  • + 32 分 +
  • + 33 分 +
  • + 34 分 +
  • + 35 分 +
  • + 36 分 +
  • + 37 分 +
  • + 38 分 +
  • + 39 分 +
  • + 40 分 +
  • + 41 分 +
  • + 42 分 +
  • + 43 分 +
  • + 44 分 +
  • + 45 分 +
  • + 46 分 +
  • + 47 分 +
  • + 48 分 +
  • + 49 分 +
  • + 50 分 +
  • + 51 分 +
  • + 52 分 +
  • + 53 分 +
  • + 54 分 +
  • + 55 分 +
  • + 56 分 +
  • + 57 分 +
  • + 58 分 +
  • + 59 分 +
  • @@ -3393,32 +4393,44 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • @@ -3434,62 +4446,86 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -3505,157 +4541,219 @@ exports[`DateTimePicker > DateTimePicker mobileVue demo works fine 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -3768,122 +4866,170 @@ exports[`DateTimePicker > DateTimePicker timeVue demo works fine 1`] = `
  • + 0 时 +
  • + 1 时 +
  • + 2 时 +
  • + 3 时 +
  • + 4 时 +
  • + 5 时 +
  • + 6 时 +
  • + 7 时 +
  • + 8 时 +
  • + 9 时 +
  • + 10 时 +
  • + 11 时 +
  • + 12 时 +
  • + 13 时 +
  • + 14 时 +
  • + 15 时 +
  • + 16 时 +
  • + 17 时 +
  • + 18 时 +
  • + 19 时 +
  • + 20 时 +
  • + 21 时 +
  • + 22 时 +
  • + 23 时 +
  • @@ -3899,302 +5045,422 @@ exports[`DateTimePicker > DateTimePicker timeVue demo works fine 1`] = `
  • + 0 分 +
  • + 1 分 +
  • + 2 分 +
  • + 3 分 +
  • + 4 分 +
  • + 5 分 +
  • + 6 分 +
  • + 7 分 +
  • + 8 分 +
  • + 9 分 +
  • + 10 分 +
  • + 11 分 +
  • + 12 分 +
  • + 13 分 +
  • + 14 分 +
  • + 15 分 +
  • + 16 分 +
  • + 17 分 +
  • + 18 分 +
  • + 19 分 +
  • + 20 分 +
  • + 21 分 +
  • + 22 分 +
  • + 23 分 +
  • + 24 分 +
  • + 25 分 +
  • + 26 分 +
  • + 27 分 +
  • + 28 分 +
  • + 29 分 +
  • + 30 分 +
  • + 31 分 +
  • + 32 分 +
  • + 33 分 +
  • + 34 分 +
  • + 35 分 +
  • + 36 分 +
  • + 37 分 +
  • + 38 分 +
  • + 39 分 +
  • + 40 分 +
  • + 41 分 +
  • + 42 分 +
  • + 43 分 +
  • + 44 分 +
  • + 45 分 +
  • + 46 分 +
  • + 47 分 +
  • + 48 分 +
  • + 49 分 +
  • + 50 分 +
  • + 51 分 +
  • + 52 分 +
  • + 53 分 +
  • + 54 分 +
  • + 55 分 +
  • + 56 分 +
  • + 57 分 +
  • + 58 分 +
  • + 59 分 +
  • @@ -4304,107 +5570,149 @@ exports[`DateTimePicker > DateTimePicker yearMonthVue demo works fine 1`] = `
  • + 2014 年 +
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -4420,62 +5728,86 @@ exports[`DateTimePicker > DateTimePicker yearMonthVue demo works fine 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • diff --git a/src/date-time-picker/__test__/__snapshots__/index.test.jsx.snap b/src/date-time-picker/__test__/__snapshots__/index.test.jsx.snap index 466b408bc..ec5418324 100644 --- a/src/date-time-picker/__test__/__snapshots__/index.test.jsx.snap +++ b/src/date-time-picker/__test__/__snapshots__/index.test.jsx.snap @@ -39,107 +39,149 @@ exports[`DateTimePicker > props > : onPick 1`] = `
  • + 2014 年 +
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • + 2031 年 +
  • + 2032 年 +
  • + 2033 年 +
  • + 2034 年 +
  • @@ -155,62 +197,86 @@ exports[`DateTimePicker > props > : onPick 1`] = `
  • + 1 月 +
  • + 2 月 +
  • + 3 月 +
  • + 4 月 +
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -226,157 +292,219 @@ exports[`DateTimePicker > props > : onPick 1`] = `
  • + 1 日 +
  • + 2 日 +
  • + 3 日 +
  • + 4 日 +
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • diff --git a/src/form/__test__/__snapshots__/demo.test.jsx.snap b/src/form/__test__/__snapshots__/demo.test.jsx.snap index 6fea87464..fc07d8dc5 100644 --- a/src/form/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/form/__test__/__snapshots__/demo.test.jsx.snap @@ -415,82 +415,114 @@ exports[`Form > Form horizontalVue demo works fine 1`] = `
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • @@ -506,42 +538,58 @@ exports[`Form > Form horizontalVue demo works fine 1`] = `
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -557,137 +605,191 @@ exports[`Form > Form horizontalVue demo works fine 1`] = `
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -2097,82 +2199,114 @@ exports[`Form > Form mobileVue demo works fine 1`] = `
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • @@ -2188,42 +2322,58 @@ exports[`Form > Form mobileVue demo works fine 1`] = `
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -2239,137 +2389,191 @@ exports[`Form > Form mobileVue demo works fine 1`] = `
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • @@ -3638,82 +3842,114 @@ exports[`Form > Form verticalVue demo works fine 1`] = `
  • + 2015 年 +
  • + 2016 年 +
  • + 2017 年 +
  • + 2018 年 +
  • + 2019 年 +
  • + 2020 年 +
  • + 2021 年 +
  • + 2022 年 +
  • + 2023 年 +
  • + 2024 年 +
  • + 2025 年 +
  • + 2026 年 +
  • + 2027 年 +
  • + 2028 年 +
  • + 2029 年 +
  • + 2030 年 +
  • @@ -3729,42 +3965,58 @@ exports[`Form > Form verticalVue demo works fine 1`] = `
  • + 5 月 +
  • + 6 月 +
  • + 7 月 +
  • + 8 月 +
  • + 9 月 +
  • + 10 月 +
  • + 11 月 +
  • + 12 月 +
  • @@ -3780,137 +4032,191 @@ exports[`Form > Form verticalVue demo works fine 1`] = `
  • + 5 日 +
  • + 6 日 +
  • + 7 日 +
  • + 8 日 +
  • + 9 日 +
  • + 10 日 +
  • + 11 日 +
  • + 12 日 +
  • + 13 日 +
  • + 14 日 +
  • + 15 日 +
  • + 16 日 +
  • + 17 日 +
  • + 18 日 +
  • + 19 日 +
  • + 20 日 +
  • + 21 日 +
  • + 22 日 +
  • + 23 日 +
  • + 24 日 +
  • + 25 日 +
  • + 26 日 +
  • + 27 日 +
  • + 28 日 +
  • + 29 日 +
  • + 30 日 +
  • + 31 日 +
  • diff --git a/src/picker/__test__/__snapshots__/demo.test.jsx.snap b/src/picker/__test__/__snapshots__/demo.test.jsx.snap index 11cfaf004..edc8bb006 100644 --- a/src/picker/__test__/__snapshots__/demo.test.jsx.snap +++ b/src/picker/__test__/__snapshots__/demo.test.jsx.snap @@ -101,12 +101,16 @@ exports[`Picker > Picker areaVue demo works fine 1`] = `
  • + 北京市 +
  • + 广东省 +
  • @@ -299,37 +303,51 @@ exports[`Picker > Picker baseVue demo works fine 1`] = `
  • + 北京市 +
  • + 上海市 +
  • + 广州市 +
  • + 深圳市 +
  • + 杭州市 +
  • + 成都市 +
  • + 长沙市 +
  • @@ -405,52 +423,72 @@ exports[`Picker > Picker baseVue demo works fine 1`] = `
  • + 2024 +
  • + 2023 +
  • + 2022 +
  • + 2021 +
  • + 2020 +
  • + 2019 +
  • + 2018 +
  • + 2017 +
  • + 2016 +
  • + 2015 +
  • @@ -466,22 +504,30 @@ exports[`Picker > Picker baseVue demo works fine 1`] = `
  • + 春 +
  • + 夏 +
  • + 秋 +
  • + 冬 +
  • @@ -620,12 +666,16 @@ exports[`Picker > Picker cascadeVue demo works fine 1`] = `
  • + 战士 +
  • + 法师 +
  • @@ -641,22 +691,30 @@ exports[`Picker > Picker cascadeVue demo works fine 1`] = `
  • + 夏侯惇 +
  • + 吕布 +
  • + 铠 +
  • + 狂铁 +
  • @@ -858,37 +916,51 @@ exports[`Picker > Picker mobileVue demo works fine 1`] = `
  • + 北京市 +
  • + 上海市 +
  • + 广州市 +
  • + 深圳市 +
  • + 杭州市 +
  • + 成都市 +
  • + 长沙市 +
  • @@ -964,52 +1036,72 @@ exports[`Picker > Picker mobileVue demo works fine 1`] = `
  • + 2024 +
  • + 2023 +
  • + 2022 +
  • + 2021 +
  • + 2020 +
  • + 2019 +
  • + 2018 +
  • + 2017 +
  • + 2016 +
  • + 2015 +
  • @@ -1025,22 +1117,30 @@ exports[`Picker > Picker mobileVue demo works fine 1`] = `
  • + 春 +
  • + 夏 +
  • + 秋 +
  • + 冬 +
  • @@ -1158,12 +1258,16 @@ exports[`Picker > Picker mobileVue demo works fine 1`] = `
  • + 北京市 +
  • + 广东省 +
  • @@ -1370,22 +1474,30 @@ exports[`Picker > Picker mobileVue demo works fine 1`] = `
  • + 北京市 +
  • + 上海市 +
  • + 广州市 +
  • + 深圳市 +
  • @@ -1604,22 +1716,30 @@ exports[`Picker > Picker titleVue demo works fine 1`] = `
  • + 北京市 +
  • + 上海市 +
  • + 广州市 +
  • + 深圳市 +
  • diff --git a/src/picker/demos/base.vue b/src/picker/demos/base.vue index 5dded9500..a1072ec9a 100644 --- a/src/picker/demos/base.vue +++ b/src/picker/demos/base.vue @@ -9,13 +9,16 @@ @confirm="onConfirm" @cancel="cityState.show = false" @pick="onPick" - /> + > + import { reactive } from 'vue'; import { PickerValue } from 'tdesign-mobile-vue'; +import type { PickerColumnItem } from 'tdesign-mobile-vue'; + +const option = (item: PickerColumnItem, index: number) => { + return item.label; +}; const cityOptions = () => { return [ diff --git a/src/picker/picker-item.tsx b/src/picker/picker-item.tsx index f3435c008..becda9e98 100644 --- a/src/picker/picker-item.tsx +++ b/src/picker/picker-item.tsx @@ -97,7 +97,11 @@ export default defineComponent({
      {(props.options || []).map((option, index) => (
    • - {props.renderLabel ? props.renderLabel(option) : option?.label} + {context.slots.option ? ( + context.slots.option(option, index) + ) : ( + <>{props.renderLabel ? props.renderLabel(option) : option?.label} + )}
    • ))}
    diff --git a/src/picker/picker.en-US.md b/src/picker/picker.en-US.md index dacdc3f1f..ef17fcb2b 100644 --- a/src/picker/picker.en-US.md +++ b/src/picker/picker.en-US.md @@ -10,6 +10,7 @@ cancelBtn | String / Boolean | true | Typescript:`boolean \| string` | N columns | Array / Function | [] | required。Typescript:`PickerColumn \| Array \| ((item: Array) => Array)` `type PickerColumn = PickerColumnItem[]` `interface PickerColumnItem { label: string,value: string}`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/picker/type.ts) | Y confirmBtn | String / Boolean | true | Typescript:`boolean \| string` | N header | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/blob/develop/src/common.ts) | N +option | Slot / Function | - | Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/blob/develop/src/common.ts) | N renderLabel | Function | - | Typescript:`(item: PickerColumnItem) => string` | N title | String | '' | \- | N value | Array | - | `v-model` and `v-model:value` is supported。Typescript:`Array` `type PickerValue = string \| number`。[see more ts definition](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/picker/type.ts) | N diff --git a/src/picker/picker.md b/src/picker/picker.md index 8c2cfa128..97fe19b95 100644 --- a/src/picker/picker.md +++ b/src/picker/picker.md @@ -11,6 +11,7 @@ cancelBtn | String / Boolean | true | 取消按钮文字。TS 类型:`boolean columns | Array / Function | [] | 必需。配置每一列的选项。TS 类型:`PickerColumn \| Array \| ((item: Array) => Array)` `type PickerColumn = PickerColumnItem[]` `interface PickerColumnItem { label: string,value: string}`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/picker/type.ts) | Y confirmBtn | String / Boolean | true | 确定按钮文字。TS 类型:`boolean \| string` | N header | Slot / Function | - | 自定义头部内容。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-mobile-vue/blob/develop/src/common.ts) | N +option | Slot / Function | - | 自定义选项内容。参数为 `option: PickerColumnItem, index: number`。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-mobile-vue/blob/develop/src/common.ts) | N renderLabel | Function | - | 自定义label。TS 类型:`(item: PickerColumnItem) => string` | N title | String | '' | 标题 | N value | Array | - | 选中值。支持语法糖 `v-model` 或 `v-model:value`。TS 类型:`Array` `type PickerValue = string \| number`。[详细类型定义](https://github.com/Tencent/tdesign-mobile-vue/tree/develop/src/picker/type.ts) | N diff --git a/src/picker/picker.tsx b/src/picker/picker.tsx index 2408947d8..84bf5f7a1 100644 --- a/src/picker/picker.tsx +++ b/src/picker/picker.tsx @@ -23,7 +23,7 @@ export default defineComponent({ components: { PickerItem }, props: PickerProps, emits: ['change', 'cancel', 'pick', 'update:modelValue', 'update:value'], - setup(props) { + setup(props, { slots }) { const pickerClass = usePrefixClass('picker'); const { globalConfig } = useConfig('picker'); const renderTNodeJSX = useTNodeJSX(); @@ -116,6 +116,7 @@ export default defineComponent({ {realColumns.value.map((item, index) => (
    setPickerItemRef(item, index)} options={item} value={pickerValue.value?.[index]} diff --git a/src/picker/props.ts b/src/picker/props.ts index a6442d4cc..1d7276aac 100644 --- a/src/picker/props.ts +++ b/src/picker/props.ts @@ -28,6 +28,10 @@ export default { header: { type: Function as PropType, }, + /** 自定义选项内容。参数为 `option: PickerColumnItem, index: number` */ + option: { + type: Function as PropType, + }, /** 自定义label */ renderLabel: { type: Function as PropType, diff --git a/src/picker/type.ts b/src/picker/type.ts index ecb44b5b0..87b2eb865 100644 --- a/src/picker/type.ts +++ b/src/picker/type.ts @@ -26,6 +26,10 @@ export interface TdPickerProps { * 自定义头部内容 */ header?: TNode; + /** + * 自定义选项内容。参数为 `option: PickerColumnItem, index: number` + */ + option?: TNode; /** * 自定义label */