UNPKG

vxe-table-demonic

Version:

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

1 lines 2.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../tools/utils"),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=(0,_vue.defineComponent)({name:"VxeCheckbox",props:{modelValue:[String,Number,Boolean],label:{type:[String,Number],default:null},indeterminate:Boolean,title:[String,Number],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},content:[String,Number],disabled:Boolean,size:{type:String,default:function(){return _conf.default.checkbox.size||_conf.default.size}}},emits:["update:modelValue","change"],setup:function(i,e){function c(e){var t,u=i.checkedValue,n=i.uncheckedValue;h.value||(u={checked:t=e.target.checked,value:t=t?u:n,label:i.label},v?v.handleChecked(u,e):(l("update:modelValue",t),d.dispatchEvent("change",u,e),o&&r&&o.triggerItemEvent(e,r.itemConfig.field,t)))}var a=e.slots,l=e.emit,o=(0,_vue.inject)("$xeform",null),r=(0,_vue.inject)("$xeformiteminfo",null),n={xID:_xeUtils.default.uniqueId(),props:i,context:e},d={},s=(0,_size.useSize)(i),v=(0,_vue.inject)("$xecheckboxgroup",null),f=(0,_vue.computed)(function(){return v?_xeUtils.default.includes(v.props.modelValue,i.label):i.modelValue===i.checkedValue}),h=(0,_vue.computed)(function(){var e,t,u;return!!i.disabled||!!v&&(e=v.props,t=v.getComputeMaps().computeIsMaximize.value,u=f.value,e.disabled||t&&!u)}),d={dispatchEvent:function(e,t,u){l(e,Object.assign({$checkbox:n,$event:u},t))}};Object.assign(n,d);return n.renderVN=function(){var e,t=s.value,u=h.value,n=f.value,l=i.indeterminate;return(0,_vue.h)("label",{class:["vxe-checkbox",((e={})["size--".concat(t)]=t,e["is--indeterminate"]=l,e["is--disabled"]=u,e["is--checked"]=n,e)],title:i.title},[(0,_vue.h)("input",{class:"vxe-checkbox--input",type:"checkbox",disabled:u,checked:n,onChange:c}),(0,_vue.h)("span",{class:["vxe-checkbox--icon",l?"vxe-icon-checkbox-indeterminate":n?"vxe-icon-checkbox-checked":"vxe-icon-checkbox-unchecked"]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},a.default?a.default({}):(0,_utils.getFuncText)(i.content))])},n},render:function(){return this.renderVN()}});exports.default=_default;