UNPKG

vhb-table

Version:

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

1 lines 2.16 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _utils=require("../../tools/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-h-b-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var _default2={name:"VhbCheckbox",mixins:[_size.default],props:{value:[String,Number,Boolean],label:[String,Number],indeterminate:Boolean,title:[String,Number],content:[String,Number],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},disabled:Boolean,size:{type:String,default:function(){return _conf.default.checkbox.size||_conf.default.size}}},inject:{$xecheckboxgroup:{default:null}},computed:{isGroup:function(){return this.$xecheckboxgroup},isDisabled:function(){return this.disabled||this.isGroup&&this.$xecheckboxgroup.disabled}},render:function(e){var t,i=this.$scopedSlots,n=this.$xecheckboxgroup,r=this.isGroup,s=this.isDisabled,u=this.title,l=this.vSize,a=this.indeterminate,c=this.value,o=this.label,h=this.content,d=this.checkedValue,b={};return u&&(b.title=u),e("label",{class:["vhb-checkbox",(t={},_defineProperty(t,"size--".concat(l),l),_defineProperty(t,"is--indeterminate",a),_defineProperty(t,"is--disabled",s),t)],attrs:b},[e("input",{class:"vhb-checkbox--input",attrs:{type:"checkbox",disabled:s},domProps:{checked:r?_xeUtils.default.includes(n.value,o):c===d},on:{change:this.changeEvent}}),e("span",{class:"vhb-checkbox--icon"}),e("span",{class:"vhb-checkbox--label"},i.default?i.default.call(this,{}):[(0,_utils.getFuncText)(h)])])},methods:{changeEvent:function(e){var t=this.$xecheckboxgroup,i=this.isGroup,n=this.isDisabled,r=this.label,s=this.checkedValue,u=this.uncheckedValue;if(!n){var l=e.target.checked,a=l?s:u,c={checked:l,value:a,label:r,$event:e};i?t.handleChecked(c):(this.$emit("input",a),this.$emit("change",c))}}}};exports.default=_default2;