UNPKG

vxe-pc-ui

Version:
1 lines 2 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({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(l,e){const{slots:n,emit:r}=e,o=(0,_vue.inject)("$xeForm",null),i=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId(),u=((0,_ui.useSize)(l),(0,_vue.reactive)({}));const a={computeIsDisabled:(0,_vue.computed)(()=>{var e=l["disabled"];return null===e?!!o&&(o.props.readonly||o.props.disabled):e})},d={xID:t,props:l,context:e,reactData:u,name:_xeUtils.default.uniqueId("xe_group_"),getComputeMaps:()=>a},p=(0,_vue.computed)(()=>Object.assign({},l.optionProps)),s=(0,_vue.computed)(()=>{return p.value.label||"label"}),v=(0,_vue.computed)(()=>{return p.value.value||"value"}),_=(0,_vue.computed)(()=>{return p.value.disabled||"disabled"}),c=(e,t,u)=>{r(e,(0,_ui.createEvent)(u,{$radioGroup:d},t))};t={dispatchEvent:c};Object.assign(d,t,{handleChecked(e,t){var u=e.label;r("update:modelValue",u),c("change",e,t),o&&i&&o.triggerItemEvent(t,i.itemConfig.field,u)}});return(0,_vue.provide)("$xeRadioGroup",d),d.renderVN=()=>{var{options:e,type:t}=l,u=n.default;const r=v.value,o=s.value,i=_.value,a=("button"===t?_button:_radio).default;return(0,_vue.h)("div",{class:"vxe-radio-group"},u?u({}):e?e.map(e=>(0,_vue.h)(a,{key:e[r],label:e[r],content:e[o],disabled:e[i]})):[])},d},render(){return this.renderVN()}});