import Loading from '../loading'; const ALLOWED_SIZE = ['mini', 'small', 'normal', 'large']; const ALLOWED_TYPE = ['default', 'danger', 'primary']; export default { name: 'van-button', components: { [Loading.name]: Loading }, props: { block: Boolean, loading: Boolean, disabled: Boolean, nativeType: String, bottomAction: Boolean, tag: { type: String, default: 'button' }, type: { type: String, default: 'default', validator: value => ALLOWED_TYPE.indexOf(value) > -1 }, size: { type: String, default: 'normal', validator: value => ALLOWED_SIZE.indexOf(value) > -1 } }, methods: { onClick(event) { if (!this.loading && !this.disabled) { this.$emit('click', event); } } }, render(h) { const { type, loading, disabled, tag: Tag } = this; return ( {loading ? : null} {this.$slots.default} ); } };