mirror of https://github.com/ElemeFE/element
Input: add clear event (#9988)
parent
657f9b9c3a
commit
e70c598d44
|
@ -682,6 +682,7 @@ Search data from server-side.
|
||||||
| blur | triggers when Input blurs | (event: Event) |
|
| blur | triggers when Input blurs | (event: Event) |
|
||||||
| focus | triggers when Input focuses | (event: Event) |
|
| focus | triggers when Input focuses | (event: Event) |
|
||||||
| change | triggers when the icon inside Input value change | (value: string \| number) |
|
| change | triggers when the icon inside Input value change | (value: string \| number) |
|
||||||
|
| clear | triggers when the Input is cleared by the button which generated by the "clearable" attribute | (event: Event) |
|
||||||
|
|
||||||
### Autocomplete Attributes
|
### Autocomplete Attributes
|
||||||
|
|
||||||
|
|
|
@ -836,6 +836,7 @@ export default {
|
||||||
| blur | 在 Input 失去焦点时触发 | (event: Event) |
|
| blur | 在 Input 失去焦点时触发 | (event: Event) |
|
||||||
| focus | 在 Input 获得焦点时触发 | (event: Event) |
|
| focus | 在 Input 获得焦点时触发 | (event: Event) |
|
||||||
| change | 在 Input 值改变时触发 | (value: string \| number) |
|
| change | 在 Input 值改变时触发 | (value: string \| number) |
|
||||||
|
| clear | 在点击"clearable"属性生成的清空按钮时触发 | (event: Event) |
|
||||||
|
|
||||||
### Input Methods
|
### Input Methods
|
||||||
| 方法名 | 说明 | 参数 |
|
| 方法名 | 说明 | 参数 |
|
||||||
|
|
|
@ -284,6 +284,7 @@
|
||||||
clear() {
|
clear() {
|
||||||
this.$emit('input', '');
|
this.$emit('input', '');
|
||||||
this.$emit('change', '');
|
this.$emit('change', '');
|
||||||
|
this.$emit('clear');
|
||||||
this.setCurrentValue('');
|
this.setCurrentValue('');
|
||||||
this.focus();
|
this.focus();
|
||||||
}
|
}
|
||||||
|
|
|
@ -241,5 +241,36 @@ describe('Input', () => {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
it('event:clear', done => {
|
||||||
|
vm = createVue({
|
||||||
|
template: `
|
||||||
|
<el-input
|
||||||
|
ref="input"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
clearable
|
||||||
|
:value="input">
|
||||||
|
</el-input>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
input: 'a'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
const spyClear = sinon.spy();
|
||||||
|
const inputElm = vm.$el.querySelector('input');
|
||||||
|
|
||||||
|
// focus to show clear button
|
||||||
|
inputElm.focus();
|
||||||
|
vm.$refs.input.$on('clear', spyClear);
|
||||||
|
vm.$nextTick(_ => {
|
||||||
|
vm.$el.querySelector('.el-input__clear').click();
|
||||||
|
vm.$nextTick(_ => {
|
||||||
|
expect(spyClear.calledOnce).to.be.true;
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue