mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
更新文档
This commit is contained in:
123
lib/button/src/button.js
Normal file
123
lib/button/src/button.js
Normal file
@@ -0,0 +1,123 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
var _xeUtils = _interopRequireDefault(require("xe-utils/methods/xe-utils"));
|
||||
|
||||
var _conf = _interopRequireDefault(require("../../conf"));
|
||||
|
||||
var _tools = require("../../tools");
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
var _default = {
|
||||
name: 'VxeButton',
|
||||
props: {
|
||||
type: String,
|
||||
size: String,
|
||||
name: [String, Number],
|
||||
disabled: Boolean,
|
||||
loading: Boolean
|
||||
},
|
||||
computed: {
|
||||
vSize: function vSize() {
|
||||
return this.size || this.$parent.size || this.$parent.vSize;
|
||||
}
|
||||
},
|
||||
render: function render(h) {
|
||||
var _ref2,
|
||||
_this = this,
|
||||
_ref3;
|
||||
|
||||
var $scopedSlots = this.$scopedSlots,
|
||||
$listeners = this.$listeners,
|
||||
type = this.type,
|
||||
vSize = this.vSize,
|
||||
name = this.name,
|
||||
disabled = this.disabled,
|
||||
loading = this.loading;
|
||||
var isText = type === 'text';
|
||||
return $scopedSlots.dropdowns ? h('div', {
|
||||
class: ['vxe-button--dropdown', _defineProperty({}, "size--".concat(vSize), vSize)]
|
||||
}, [h('button', {
|
||||
class: ['vxe-button', "type--".concat(isText ? type : 'button'), (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "theme--".concat(type), type && !isText), _defineProperty(_ref2, 'is--disabled', disabled || loading), _defineProperty(_ref2, 'is--loading', loading), _ref2)],
|
||||
attrs: {
|
||||
name: name,
|
||||
disabled: disabled || loading
|
||||
},
|
||||
on: Object.assign({
|
||||
mouseenter: this.mouseenterEvent,
|
||||
mouseleave: this.mouseleaveEvent
|
||||
}, _xeUtils.default.objectMap($listeners, function (cb, type) {
|
||||
return function (evnt) {
|
||||
return _this.$emit(type, evnt);
|
||||
};
|
||||
}))
|
||||
}, [h('span', $scopedSlots.default.call(this)), h('i', {
|
||||
class: "vxe-button--dropdown-arrow ".concat(_conf.default.icon.dropdownBottom)
|
||||
})]), h('div', {
|
||||
class: 'vxe-button--dropdown-wrapper',
|
||||
on: {
|
||||
click: this.clickDropdownEvent,
|
||||
mouseenter: this.mouseenterEvent,
|
||||
mouseleave: this.mouseleaveEvent
|
||||
}
|
||||
}, $scopedSlots.dropdowns.call(this))]) : h('button', {
|
||||
class: ['vxe-button', "type--".concat(isText ? type : 'button'), (_ref3 = {}, _defineProperty(_ref3, "size--".concat(vSize), vSize), _defineProperty(_ref3, "theme--".concat(type), type && !isText), _defineProperty(_ref3, 'is--disabled', disabled || loading), _defineProperty(_ref3, 'is--loading', loading), _ref3)],
|
||||
attrs: {
|
||||
name: name,
|
||||
disabled: disabled || loading
|
||||
},
|
||||
on: _xeUtils.default.objectMap($listeners, function (cb, type) {
|
||||
return function (evnt) {
|
||||
return _this.$emit(type, evnt);
|
||||
};
|
||||
})
|
||||
}, (loading ? [h('i', {
|
||||
class: ['vxe-button--loading-icon', _conf.default.icon.btnLoading]
|
||||
})] : []).concat($scopedSlots.default.call(this)));
|
||||
},
|
||||
methods: {
|
||||
clickDropdownEvent: function clickDropdownEvent(evnt) {
|
||||
var dropdownElem = evnt.currentTarget;
|
||||
var wrapperElem = dropdownElem.parentNode;
|
||||
|
||||
var _DomTools$getEventTar = _tools.DomTools.getEventTargetNode(evnt, dropdownElem, 'vxe-button'),
|
||||
flag = _DomTools$getEventTar.flag,
|
||||
targetElem = _DomTools$getEventTar.targetElem;
|
||||
|
||||
if (flag) {
|
||||
wrapperElem.dataset.active = 'N';
|
||||
|
||||
_tools.DomTools.removeClass(wrapperElem, 'is--active');
|
||||
|
||||
_tools.UtilTools.emitEvent(this, 'dropdown-click', [{
|
||||
name: targetElem.getAttribute('name')
|
||||
}, evnt]);
|
||||
}
|
||||
},
|
||||
mouseenterEvent: function mouseenterEvent(evnt) {
|
||||
var dropdownElem = evnt.currentTarget;
|
||||
var wrapperElem = dropdownElem.parentNode;
|
||||
wrapperElem.dataset.active = 'Y';
|
||||
|
||||
_tools.DomTools.addClass(wrapperElem, 'is--active');
|
||||
},
|
||||
mouseleaveEvent: function mouseleaveEvent(evnt) {
|
||||
var dropdownElem = evnt.currentTarget;
|
||||
var wrapperElem = dropdownElem.parentNode;
|
||||
wrapperElem.dataset.active = 'N';
|
||||
setTimeout(function () {
|
||||
if (wrapperElem.dataset.active !== 'Y') {
|
||||
_tools.DomTools.removeClass(wrapperElem, 'is--active');
|
||||
}
|
||||
}, 300);
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.default = _default;
|
||||
Reference in New Issue
Block a user