mirror of https://github.com/ElemeFE/element
Tag: add click event (#14106)
* Tag: add tag click event handle * Tag: add doc and unit test.pull/14158/head
parent
78f27d68bd
commit
e9aae8f706
|
@ -212,4 +212,5 @@ Besides default size, Tag component provides three additional sizes for you to c
|
||||||
### Events
|
### Events
|
||||||
| Event Name | Description | Parameters |
|
| Event Name | Description | Parameters |
|
||||||
|---------- |-------- |---------- |
|
|---------- |-------- |---------- |
|
||||||
|
| click | triggers when Tag is clicked | — |
|
||||||
| close | triggers when Tag is removed | — |
|
| close | triggers when Tag is removed | — |
|
|
@ -212,4 +212,5 @@ Además del tamaño predeterminado, el componente Tag proporciona tres tamaños
|
||||||
### Eventos
|
### Eventos
|
||||||
| Nombre | Descripción | Parametros |
|
| Nombre | Descripción | Parametros |
|
||||||
| ------ | ------------------------------------ | ---------- |
|
| ------ | ------------------------------------ | ---------- |
|
||||||
|
| click | se disoara cuando el Tag es clic | — |
|
||||||
| close | se disoara cuando el Tag es removido | — |
|
| close | se disoara cuando el Tag es removido | — |
|
|
@ -212,4 +212,5 @@ Tag 组件提供除了默认值以外的三种尺寸,可以在不同场景下
|
||||||
### Events
|
### Events
|
||||||
| 事件名称 | 说明 | 回调参数 |
|
| 事件名称 | 说明 | 回调参数 |
|
||||||
|---------- |-------- |---------- |
|
|---------- |-------- |---------- |
|
||||||
| close | 关闭 Tag 时触发的事件 | — |
|
| click | 点击 Tag 时触发的事件 | — |
|
||||||
|
| close | 关闭 Tag 时触发的事件 | — |
|
|
@ -14,6 +14,10 @@
|
||||||
handleClose(event) {
|
handleClose(event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.$emit('close', event);
|
this.$emit('close', event);
|
||||||
|
},
|
||||||
|
handleClick(event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
this.$emit('click', event);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -26,7 +30,7 @@
|
||||||
this.tagSize ? `el-tag--${this.tagSize}` : '',
|
this.tagSize ? `el-tag--${this.tagSize}` : '',
|
||||||
{'is-hit': this.hit}
|
{'is-hit': this.hit}
|
||||||
];
|
];
|
||||||
const tagEl = (<span class={classes} style={{backgroundColor: this.color}}>
|
const tagEl = (<span class={classes} style={{backgroundColor: this.color}} on-click={this.handleClick}>
|
||||||
{ this.$slots.default }
|
{ this.$slots.default }
|
||||||
{
|
{
|
||||||
this.closable && <i class="el-tag__close el-icon-close" on-click={this.handleClose}></i>
|
this.closable && <i class="el-tag__close el-icon-close" on-click={this.handleClose}></i>
|
||||||
|
|
|
@ -82,9 +82,35 @@ describe('Tag', () => {
|
||||||
it('color', () => {
|
it('color', () => {
|
||||||
vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
<el-tag color="rgb(0, 0, 0)"></el-tag>
|
<el-tag ref="tag" color="rgb(0, 0, 0)"></el-tag>
|
||||||
`
|
`
|
||||||
}, true);
|
}, true);
|
||||||
expect(vm.$el.style.backgroundColor).to.equal('rgb(0, 0, 0)');
|
expect(vm.$el.style.backgroundColor).to.equal('rgb(0, 0, 0)');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('click', done => {
|
||||||
|
vm = createVue({
|
||||||
|
template: `
|
||||||
|
<el-tag ref="tag" @click="handleClick">点击标签</el-tag>
|
||||||
|
`,
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
clicksCount: 0
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick() {
|
||||||
|
this.clicksCount = this.clicksCount + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
let tag = vm.$refs.tag;
|
||||||
|
tag.$el.click();
|
||||||
|
|
||||||
|
setTimeout(_ => {
|
||||||
|
expect(vm.clicksCount).to.be.equal(1);
|
||||||
|
done();
|
||||||
|
}, 20);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue