From 8f56ff06d40db26b3e4daebb18f302f6782642e9 Mon Sep 17 00:00:00 2001 From: mrayi <1078464063@qq.com> Date: Mon, 1 Apr 2024 11:08:20 +0800 Subject: [PATCH] refactor(textarea): move to script setup (#2997) * refactor(textarea): move to script setup * fix: type * chore: update --------- Co-authored-by: Eiinu --- src/config.json | 1 + .../__VUE/textarea/__tests__/textarea.spec.ts | 14 + src/packages/__VUE/textarea/doc.en-US.md | 8 + src/packages/__VUE/textarea/doc.md | 8 + src/packages/__VUE/textarea/doc.taro.md | 8 + src/packages/__VUE/textarea/index.taro.ts | 11 + src/packages/__VUE/textarea/index.taro.vue | 273 ------------------ src/packages/__VUE/textarea/index.ts | 11 + src/packages/__VUE/textarea/index.vue | 202 ------------- src/packages/__VUE/textarea/textarea.taro.vue | 244 ++++++++++++++++ src/packages/__VUE/textarea/textarea.vue | 174 +++++++++++ 11 files changed, 479 insertions(+), 475 deletions(-) create mode 100644 src/packages/__VUE/textarea/index.taro.ts delete mode 100644 src/packages/__VUE/textarea/index.taro.vue create mode 100644 src/packages/__VUE/textarea/index.ts delete mode 100644 src/packages/__VUE/textarea/index.vue create mode 100644 src/packages/__VUE/textarea/textarea.taro.vue create mode 100644 src/packages/__VUE/textarea/textarea.vue diff --git a/src/config.json b/src/config.json index b30b2f58ca..75ac0f7b93 100644 --- a/src/config.json +++ b/src/config.json @@ -431,6 +431,7 @@ "version": "3.0.0", "name": "Textarea", "cName": "文本域", + "setup": true, "desc": "文本输入", "author": "gx" }, diff --git a/src/packages/__VUE/textarea/__tests__/textarea.spec.ts b/src/packages/__VUE/textarea/__tests__/textarea.spec.ts index 1e0979f9cb..80a625d7ed 100644 --- a/src/packages/__VUE/textarea/__tests__/textarea.spec.ts +++ b/src/packages/__VUE/textarea/__tests__/textarea.spec.ts @@ -117,3 +117,17 @@ test('should emit blur event when textarea is blur', () => { wrapper.find('textarea').trigger('blur') expect(wrapper.emitted('blur')).toBeTruthy() }) + +test('should set height when autosize is object', async () => { + const wrapper = mount(Textarea, { + props: { + autosize: { + minHeight: 200, + maxHeight: 300 + } + } + }) + await nextTick() + const txtWrapper = wrapper.find('.nut-textarea__textarea').element as HTMLTextAreaElement + expect(txtWrapper.style.height).toBe('200px') +}) diff --git a/src/packages/__VUE/textarea/doc.en-US.md b/src/packages/__VUE/textarea/doc.en-US.md index 7dce8f0829..4dcc8bbc8f 100644 --- a/src/packages/__VUE/textarea/doc.en-US.md +++ b/src/packages/__VUE/textarea/doc.en-US.md @@ -59,6 +59,14 @@ app.use(Textarea) | focus | Triggered when focusing | `event` | | blur | Triggered when out of focus | `value,event` | +### Types version + +The component exports the following type definitions: + +```js +import type { TextareaProps, TextareaInstance } from '@nutui/nutui'; +``` + ## Theming ### CSS Variables diff --git a/src/packages/__VUE/textarea/doc.md b/src/packages/__VUE/textarea/doc.md index 24f04191fa..561c9cd88e 100644 --- a/src/packages/__VUE/textarea/doc.md +++ b/src/packages/__VUE/textarea/doc.md @@ -59,6 +59,14 @@ app.use(Textarea) | focus | 聚焦时触发 | `event` | | blur | 失焦时触发 | `value,event` | +### 类型定义 version + +组件导出以下类型定义: + +```js +import type { TextareaProps, TextareaInstance } from '@nutui/nutui'; +``` + ## 主题定制 ### 样式变量 diff --git a/src/packages/__VUE/textarea/doc.taro.md b/src/packages/__VUE/textarea/doc.taro.md index 74404ab8e1..2fedb67eb0 100644 --- a/src/packages/__VUE/textarea/doc.taro.md +++ b/src/packages/__VUE/textarea/doc.taro.md @@ -61,6 +61,14 @@ app.use(Textarea) | focus | 聚焦时触发 | `event` | | blur | 失焦时触发 | `value,event` | +### 类型定义 version + +组件导出以下类型定义: + +```js +import type { TextareaProps, TextareaInstance } from '@nutui/nutui-taro'; +``` + ## 主题定制 ### 样式变量 diff --git a/src/packages/__VUE/textarea/index.taro.ts b/src/packages/__VUE/textarea/index.taro.ts new file mode 100644 index 0000000000..2205de8f9c --- /dev/null +++ b/src/packages/__VUE/textarea/index.taro.ts @@ -0,0 +1,11 @@ +import Textarea from './textarea.taro.vue' +import type { ComponentPublicInstance } from 'vue' +import { withInstall } from '@/packages/utils' + +withInstall(Textarea) + +export type { TextareaProps } from './textarea.taro.vue' + +export type TextareaInstance = ComponentPublicInstance & InstanceType + +export { Textarea, Textarea as default } diff --git a/src/packages/__VUE/textarea/index.taro.vue b/src/packages/__VUE/textarea/index.taro.vue deleted file mode 100644 index 811e458456..0000000000 --- a/src/packages/__VUE/textarea/index.taro.vue +++ /dev/null @@ -1,273 +0,0 @@ -