diff --git a/components/form/__tests__/__snapshots__/demo.test.js.snap b/components/form/__tests__/__snapshots__/demo.test.js.snap
index c77d46d35..e5efd506b 100644
--- a/components/form/__tests__/__snapshots__/demo.test.js.snap
+++ b/components/form/__tests__/__snapshots__/demo.test.js.snap
@@ -141,7 +141,7 @@ exports[`renders ./components/form/demo/custom-validation.vue correctly 1`] = `
diff --git a/components/input/Input.tsx b/components/input/Input.tsx
index 8b8907aeb..5a19a7c22 100644
--- a/components/input/Input.tsx
+++ b/components/input/Input.tsx
@@ -295,6 +295,7 @@ export default defineComponent({
'inputType',
'bordered',
'htmlSize',
+ 'lazy',
]);
const inputProps = {
...otherProps,
@@ -314,6 +315,7 @@ export default defineComponent({
ref: inputRef,
key: 'ant-input',
size: htmlSize,
+ id: otherProps.id ?? formItemContext.id.value,
};
if (valueModifiers.lazy) {
delete inputProps.onInput;
diff --git a/components/input/Password.tsx b/components/input/Password.tsx
index ab87cf052..250e5bb67 100644
--- a/components/input/Password.tsx
+++ b/components/input/Password.tsx
@@ -82,7 +82,7 @@ export default defineComponent({
});
const omittedProps = {
- ...omit(restProps, ['suffix', 'iconRender']),
+ ...omit(restProps, ['suffix', 'iconRender', 'action']),
...attrs,
type: visible.value ? 'text' : 'password',
class: inputClassName,
diff --git a/components/input/Search.tsx b/components/input/Search.tsx
index e73903f1f..620dccb1d 100644
--- a/components/input/Search.tsx
+++ b/components/input/Search.tsx
@@ -73,7 +73,6 @@ export default defineComponent({
} = props;
let { enterButton = slots.enterButton?.() } = props;
enterButton = enterButton || enterButton === '';
- const searchIcon = typeof enterButton === 'boolean' ?
: null;
const btnClassName = `${prefixCls.value}-button`;
const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;
@@ -82,7 +81,6 @@ export default defineComponent({
enterButtonAsElement.type &&
isPlainObject(enterButtonAsElement.type) &&
enterButtonAsElement.type.__ANT_BUTTON;
-
if (isAntdButton || enterButtonAsElement.tagName === 'button') {
button = cloneElement(
enterButtonAsElement,
@@ -110,9 +108,8 @@ export default defineComponent({
onMousedown={onMousedown}
onClick={onSearch}
loading={loading}
- icon={searchIcon}
>
- {enterButton}
+ {enterButton === true ?
: enterButton}
);
}
@@ -131,7 +128,7 @@ export default defineComponent({
return (
`;
+exports[`Input.Search should support custom Button 1`] = `
`;
-exports[`Input.Search should support custom button 1`] = `
`;
+exports[`Input.Search should support custom button 1`] = `
ok`;
diff --git a/components/input/__tests__/__snapshots__/demo.test.js.snap b/components/input/__tests__/__snapshots__/demo.test.js.snap
index 3b9b5c628..c4b029cf3 100644
--- a/components/input/__tests__/__snapshots__/demo.test.js.snap
+++ b/components/input/__tests__/__snapshots__/demo.test.js.snap
@@ -17,14 +17,14 @@ exports[`renders ./components/input/demo/addon.vue correctly 1`] = `
`;
exports[`renders ./components/input/demo/allow-clear.vue correctly 1`] = `
-
-
+
`;
exports[`renders ./components/input/demo/autosize-textarea.vue correctly 1`] = `
-
-
+
`;
@@ -76,21 +76,17 @@ exports[`renders ./components/input/demo/group.vue correctly 1`] = `
-
+
`;
-exports[`renders ./components/input/demo/password-input.vue correctly 1`] = `