vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
1 lines • 2.23 kB
JavaScript
;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:"VxeRadioButton",props:{modelValue:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:null},title:[String,Number],content:[String,Number],disabled:Boolean,strict:{type:Boolean,default:function(){return _conf.default.radioButton.strict}},size:{type:String,default:function(){return _conf.default.radioButton.size||_conf.default.size}}},emits:["update:modelValue","change"],setup:function(i,e){function a(e){p.value||x(i.label,e)}function o(e){var t=p.value,u=_.value;t||u||i.label===(f?f.props:i).modelValue&&x(null,e)}function t(){var e,t=s.value,u=p.value,n=v.value,l=m.value;return(0,_vue.h)("label",{class:["vxe-radio","vxe-radio-button",((e={})["size--".concat(t)]=t,e["is--disabled"]=u,e)],title:i.title},[(0,_vue.h)("input",{class:"vxe-radio--input",type:"radio",name:n,checked:l,disabled:u,onChange:a,onClick:o}),(0,_vue.h)("span",{class:"vxe-radio--label"},r.default?r.default({}):(0,_utils.getFuncText)(i.content))])}var r=e.slots,n=e.emit,u=(0,_vue.inject)("$xeform",null),l=(0,_vue.inject)("$xeformiteminfo",null),d=_xeUtils.default.uniqueId(),s=(0,_size.useSize)(i),c={xID:d,props:i,context:e},f=(0,_vue.inject)("$xeradiogroup",null),p=(0,_vue.computed)(function(){return i.disabled||f&&f.props.disabled}),v=(0,_vue.computed)(function(){return f?f.name:null}),_=(0,_vue.computed)(function(){return(f?f.props:i).strict}),m=(0,_vue.computed)(function(){var e=i.modelValue,t=i.label;return f?f.props.modelValue===t:e===t}),b={dispatchEvent:function(e,t,u){n(e,Object.assign({$radioButton:c,$event:u},t))}},x=(Object.assign(c,b),function(e,t){f?f.handleChecked({label:e},t):(n("update:modelValue",e),b.dispatchEvent("change",{label:e},t),u&&l&&u.triggerItemEvent(t,l.itemConfig.field,e))});return Object.assign(c,{renderVN:t,dispatchEvent:dispatchEvent}),t}});exports.default=_default;