From ecf3e295cd28f57f324240d397ea713d7e7b5c07 Mon Sep 17 00:00:00 2001
From: ajaxzheng <894103554@qq.com>
Date: Thu, 19 Sep 2024 15:54:26 +0800
Subject: [PATCH] fix(input): [input] fix textarea disabled style error
---
.../pc/app/input/disabled-composition-api.vue | 23 ++++++++++++++
.../sites/demos/pc/app/input/disabled.spec.ts | 11 +++++++
.../sites/demos/pc/app/input/disabled.vue | 31 +++++++++++++++++++
.../sites/demos/pc/app/input/webdoc/input.js | 13 ++++++++
packages/theme/src/textarea/index.less | 16 +++++++---
5 files changed, 90 insertions(+), 4 deletions(-)
create mode 100644 examples/sites/demos/pc/app/input/disabled-composition-api.vue
create mode 100644 examples/sites/demos/pc/app/input/disabled.spec.ts
create mode 100644 examples/sites/demos/pc/app/input/disabled.vue
diff --git a/examples/sites/demos/pc/app/input/disabled-composition-api.vue b/examples/sites/demos/pc/app/input/disabled-composition-api.vue
new file mode 100644
index 0000000000..9dd3554c97
--- /dev/null
+++ b/examples/sites/demos/pc/app/input/disabled-composition-api.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/sites/demos/pc/app/input/disabled.spec.ts b/examples/sites/demos/pc/app/input/disabled.spec.ts
new file mode 100644
index 0000000000..76fd257574
--- /dev/null
+++ b/examples/sites/demos/pc/app/input/disabled.spec.ts
@@ -0,0 +1,11 @@
+import { test, expect } from '@playwright/test'
+
+test('disabled', async ({ page }) => {
+ page.on('pageerror', (exception) => expect(exception).toBeNull())
+ await page.goto('input#disabled')
+ const demo = page.locator('#disabled')
+ const input = demo.getByRole('textbox', { name: 'input' })
+ const textarea = page.getByRole('textbox', { name: 'textarea' })
+ await expect(input).toHaveAttribute('disabled', '')
+ await expect(textarea).toHaveAttribute('disabled', '')
+})
diff --git a/examples/sites/demos/pc/app/input/disabled.vue b/examples/sites/demos/pc/app/input/disabled.vue
new file mode 100644
index 0000000000..d3086be254
--- /dev/null
+++ b/examples/sites/demos/pc/app/input/disabled.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/sites/demos/pc/app/input/webdoc/input.js b/examples/sites/demos/pc/app/input/webdoc/input.js
index 9e3f11c779..f8151868a6 100644
--- a/examples/sites/demos/pc/app/input/webdoc/input.js
+++ b/examples/sites/demos/pc/app/input/webdoc/input.js
@@ -27,6 +27,19 @@ export default {
},
codeFiles: ['clearable.vue']
},
+ {
+ demoId: 'disabled',
+ name: {
+ 'zh-CN': '禁用',
+ 'en-US': 'Disabled'
+ },
+ desc: {
+ 'zh-CN': '
可通过 disabled 属性设置输入框的禁用状态。
',
+ 'en-US':
+ 'You can set the clearable attribute to display the clear icon button in the text box
'
+ },
+ codeFiles: ['disabled.vue']
+ },
{
demoId: 'show-password',
name: {
diff --git a/packages/theme/src/textarea/index.less b/packages/theme/src/textarea/index.less
index 3f198453a0..a3ab434b8d 100644
--- a/packages/theme/src/textarea/index.less
+++ b/packages/theme/src/textarea/index.less
@@ -30,7 +30,7 @@
&:before {
content: '';
- width: calc(100% - 16px);
+ width: calc(100% - 20px);
height: 8px;
position: absolute;
left: 2px;
@@ -42,7 +42,7 @@
&:after {
content: '';
- width: calc(100% - 19px);
+ width: calc(100% - 20px);
height: 16px;
position: absolute;
left: 2px;
@@ -63,6 +63,14 @@
&.is-disabled {
background-color: var(--ti-textarea-disabled-bg-color);
+ &:before {
+ background-color: var(--ti-textarea-disabled-bg-color);
+ }
+
+ &:after {
+ background-color: var(--ti-textarea-disabled-bg-color);
+ }
+
&:hover {
border-color: var(--ti-textarea-border-color);
}
@@ -175,9 +183,9 @@
&.is-display-only {
.@{textarea-prefix-cls}-display-only.@{textarea-prefix-cls}__inner-con
- .@{textarea-prefix-cls}-display-only__content,
+ .@{textarea-prefix-cls}-display-only__content,
.@{textarea-prefix-cls}-autosize-display-only.@{textarea-prefix-cls}__inner-con
- .@{textarea-prefix-cls}-display-only__content {
+ .@{textarea-prefix-cls}-display-only__content {
position: relative;
left: 0;
max-width: 100%;