UNPKG

vxe-table

Version:

一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...

115 lines (102 loc) 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _tools = require("../../tools"); var _ctor = _interopRequireDefault(require("xe-utils/ctor")); var _conf = _interopRequireDefault(require("../../conf")); var _size = _interopRequireDefault(require("../../mixins/size")); 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 _default2 = { name: 'VxeCheckbox', mixins: [_size.default], props: { value: Boolean, label: [String, Number], indeterminate: Boolean, title: [String, Number], content: [String, Number], disabled: Boolean, size: { type: String, default: function _default() { return _conf.default.checkbox.size || _conf.default.size; } } }, inject: { $xecheckboxgroup: { default: null } }, computed: { isGroup: function isGroup() { return this.$xecheckboxgroup; }, isDisabled: function isDisabled() { return this.disabled || this.isGroup && this.$xecheckboxgroup.disabled; } }, render: function render(h) { var _ref; var $slots = this.$slots, $xecheckboxgroup = this.$xecheckboxgroup, isGroup = this.isGroup, isDisabled = this.isDisabled, title = this.title, vSize = this.vSize, indeterminate = this.indeterminate, value = this.value, label = this.label, content = this.content; var attrs = {}; if (title) { attrs.title = title; } return h('label', { class: ['vxe-checkbox', (_ref = {}, _defineProperty(_ref, "size--".concat(vSize), vSize), _defineProperty(_ref, 'is--indeterminate', indeterminate), _defineProperty(_ref, 'is--disabled', isDisabled), _ref)], attrs: attrs }, [h('input', { class: 'vxe-checkbox--input', attrs: { type: 'checkbox', disabled: isDisabled }, domProps: { checked: isGroup ? _ctor.default.includes($xecheckboxgroup.value, label) : value }, on: { change: this.changeEvent } }), h('span', { class: 'vxe-checkbox--icon' }), h('span', { class: 'vxe-checkbox--label' }, $slots.default || [_tools.UtilTools.getFuncText(content)])]); }, methods: { changeEvent: function changeEvent(evnt) { var $xecheckboxgroup = this.$xecheckboxgroup, isGroup = this.isGroup, isDisabled = this.isDisabled, label = this.label; if (!isDisabled) { var checked = evnt.target.checked; var params = { checked: checked, label: label, $event: evnt }; if (isGroup) { $xecheckboxgroup.handleChecked(params); } else { this.$emit('input', checked); this.$emit('change', params); } } } } }; exports.default = _default2;