diff --git a/docs/markdown/changelog.zh-CN.md b/docs/markdown/changelog.zh-CN.md index 88cedc282..9943f3f0c 100644 --- a/docs/markdown/changelog.zh-CN.md +++ b/docs/markdown/changelog.zh-CN.md @@ -4,6 +4,7 @@ ##### Field +- 新增`click`事件 - 新增`clickable`属性 ##### Stepper diff --git a/packages/field/demo/index.vue b/packages/field/demo/index.vue index 1d086bfa1..977d021ad 100644 --- a/packages/field/demo/index.vue +++ b/packages/field/demo/index.vue @@ -15,9 +15,9 @@ v-model="username" :label="$t('username')" :placeholder="$t('usernamePlaceholder')" + required clearable right-icon="question-o" - required @click-right-icon="$toast('question')" /> diff --git a/packages/field/en-US.md b/packages/field/en-US.md index cda38ed12..5ef88d25b 100644 --- a/packages/field/en-US.md +++ b/packages/field/en-US.md @@ -152,6 +152,7 @@ Field support all native events of input tag,such as `focus`、`blur`、`keypr | Event | Description | Parameters | |------|------|------| | input | Triggered when value changed | - | +| click | Triggered when click field | - | | clear | Triggered when click clear icon | - | | click-left-icon | Triggered when click the left icon of Field | - | | click-right-icon | Triggered when click the right icon of Field | - | diff --git a/packages/field/index.js b/packages/field/index.js index a1dd09df8..fe9656107 100644 --- a/packages/field/index.js +++ b/packages/field/index.js @@ -59,13 +59,17 @@ export default sfc({ }, listeners() { - return { + const listeners = { ...this.$listeners, input: this.onInput, keypress: this.onKeypress, focus: this.onFocus, blur: this.onBlur }; + + delete listeners.click; + + return listeners; }, labelStyle() { @@ -130,6 +134,10 @@ export default sfc({ } }, + onClick(event) { + this.$emit('click', event); + }, + onClickLeftIcon() { this.$emit('click-left-icon'); }, @@ -272,6 +280,7 @@ export default sfc({ 'min-height': this.type === 'textarea' && !this.autosize })} scopedSlots={scopedSlots} + onClick={this.onClick} >