UNPKG

vxe-pc-ui

Version:
1 lines 2.1 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_radio=_interopRequireDefault(require("./radio")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeRadioGroup",props:{modelValue:[String,Number,Boolean],disabled:{type:Boolean,default:null},type:String,options:Array,optionProps:Object,strict:{type:Boolean,default:()=>(0,_ui.getConfig)().radioGroup.strict},size:{type:String,default:()=>(0,_ui.getConfig)().radioGroup.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","change"],setup(n,e){const{slots:d,emit:r}=e,u=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const p=(0,_ui.useSize)(n)["computeSize"];var i=(0,_vue.reactive)({});const a={computeIsDisabled:(0,_vue.computed)(()=>{var e=n["disabled"];return null===e?!!u&&(u.props.readonly||u.props.disabled):e})},l={xID:t,props:n,context:e,reactData:i,name:_xeUtils.default.uniqueId("xe_group_"),getComputeMaps:()=>a},s=(0,_vue.computed)(()=>Object.assign({},n.optionProps)),v=(0,_vue.computed)(()=>{return s.value.label||"label"}),_=(0,_vue.computed)(()=>{return s.value.value||"value"}),c=(0,_vue.computed)(()=>{return s.value.disabled||"disabled"}),m=(e,t,u)=>{r(e,(0,_ui.createEvent)(u,{$radioGroup:l},t))};t={dispatchEvent:m};Object.assign(l,t,{handleChecked(e,t){e=e.label;r("update:modelValue",e),m("change",{value:e,label:e},t),u&&o&&u.triggerItemEvent(t,o.itemConfig.field,e)}});return(0,_vue.provide)("$xeRadioGroup",l),l.renderVN=()=>{var{options:e,type:t}=n,u=p.value,r=d.default;const o=_.value,i=v.value,a=c.value,l=("button"===t?_button:_radio).default;return(0,_vue.h)("div",{class:["vxe-radio-group",{["size--"+u]:u}]},r?r({}):e?e.map(e=>(0,_vue.h)(l,{key:e[o],label:e[o],content:e[i],disabled:e[a]})):[])},l},render(){return this.renderVN()}});