mirror of https://github.com/ElemeFE/element
Button: add click event (#703)
parent
f4ac3faa36
commit
8a72f1b45e
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<button :disabled="disabled" class="el-button"
|
<button :disabled="disabled" class="el-button"
|
||||||
|
@click="handleClick"
|
||||||
:type="nativeType"
|
:type="nativeType"
|
||||||
:class="[
|
:class="[
|
||||||
type ? 'el-button--' + type : '',
|
type ? 'el-button--' + type : '',
|
||||||
|
@ -46,6 +47,12 @@
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
handleClick(evt) {
|
||||||
|
this.$emit('click', evt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { createTest } from '../util';
|
import { createTest, createVue, destroyVM } from '../util';
|
||||||
import Button from 'packages/button';
|
import Button from 'packages/button';
|
||||||
|
|
||||||
describe('Button', () => {
|
describe('Button', () => {
|
||||||
|
@ -8,6 +8,7 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.classList.contains('el-button--primary')).to.be.true;
|
expect(buttonElm.classList.contains('el-button--primary')).to.be.true;
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('icon', () => {
|
it('icon', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -15,6 +16,7 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.querySelector('.el-icon-search')).to.be.ok;
|
expect(buttonElm.querySelector('.el-icon-search')).to.be.ok;
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('nativeType', () => {
|
it('nativeType', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -22,6 +24,7 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.getAttribute('type')).to.be.equal('submit');
|
expect(buttonElm.getAttribute('type')).to.be.equal('submit');
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('loading', () => {
|
it('loading', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -30,6 +33,7 @@ describe('Button', () => {
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.classList.contains('is-loading')).to.be.true;
|
expect(buttonElm.classList.contains('is-loading')).to.be.true;
|
||||||
expect(buttonElm.querySelector('.el-icon-loading')).to.be.ok;
|
expect(buttonElm.querySelector('.el-icon-loading')).to.be.ok;
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('disabled', () => {
|
it('disabled', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -37,6 +41,7 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.classList.contains('is-disabled')).to.be.true;
|
expect(buttonElm.classList.contains('is-disabled')).to.be.true;
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('size', () => {
|
it('size', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -44,6 +49,7 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.classList.contains('el-button--large')).to.be.true;
|
expect(buttonElm.classList.contains('el-button--large')).to.be.true;
|
||||||
|
destroyVM(vm);
|
||||||
});
|
});
|
||||||
it('plain', () => {
|
it('plain', () => {
|
||||||
const vm = createTest(Button, {
|
const vm = createTest(Button, {
|
||||||
|
@ -51,5 +57,26 @@ describe('Button', () => {
|
||||||
}, true);
|
}, true);
|
||||||
let buttonElm = vm.$el;
|
let buttonElm = vm.$el;
|
||||||
expect(buttonElm.classList.contains('is-plain')).to.be.true;
|
expect(buttonElm.classList.contains('is-plain')).to.be.true;
|
||||||
|
destroyVM(vm);
|
||||||
|
});
|
||||||
|
it('click', done => {
|
||||||
|
let result;
|
||||||
|
const vm = createVue({
|
||||||
|
template: `
|
||||||
|
<el-button @click="handleClick"></el-button>
|
||||||
|
`,
|
||||||
|
methods: {
|
||||||
|
handleClick(evt) {
|
||||||
|
result = evt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
vm.$el.click();
|
||||||
|
|
||||||
|
setTimeout(_ => {
|
||||||
|
expect(result).to.exist;
|
||||||
|
destroyVM(vm);
|
||||||
|
done();
|
||||||
|
}, 20);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue