@aplus-frontend/ui
Version:
2 lines (1 loc) • 2.09 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("@aplus-frontend/antdv");require("../../hooks/index.js");const i=require("lodash-unified"),c=require("./helper.js");require("../../config-provider/index.js");const T=require("../hooks/use-options.js"),_=require("../style/index.js"),V=require("../../hooks/useControllableValue.js"),C=require("../../config-provider/hooks/use-namespace.js"),O=e.defineComponent({name:"ApFieldRadio",__name:"index",props:{mode:{default:"edit"},class:{},style:{},prefixCls:{},value:{},size:{},options:{},disabled:{type:Boolean,default:void 0},name:{},buttonStyle:{},id:{},block:{type:Boolean},optionType:{},onChange:{},"onUpdate:value":{},emptyText:{default:"--"},request:{},vertical:{type:Boolean,default:!1}},emits:["update:value"],setup(p,{expose:d,emit:f}){const t=p,v=f,n=e.ref(),{options:a,updateOptions:m}=T.default(t),{value:l,updateValue:y}=V.useControllableValue(t,v),{b:k,m:q}=C.useNamespace("field-radio"),g=_.default("field"),u=e.ref(!1);e.onMounted(()=>{t.request&&(u.value=!0,t.request?.().then(o=>m(o)).finally(()=>{u.value=!1}))});const b=e.computed(()=>{const o=e.unref(l);if(i.isNil(o))return t.emptyText;const r=a.value?.find(h=>o===c.getOptionValue(h));return c.getOptionLabel(r)||t.emptyText});function B(){n.value?.focus()}function x(){n.value?.blur()}return d({focus:B,blur:x}),(o,r)=>o.mode==="read"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(b.value),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[u.value?(e.openBlock(),e.createBlock(e.unref(s.Spin),{key:0,size:"small"})):(e.openBlock(),e.createBlock(e.unref(s.RadioGroup),e.mergeProps({key:1},e.unref(i.omit)(t,["value","onUpdate:value","options","request","vertical"]),{ref_key:"radioGroupRef",ref:n,value:e.unref(l),options:e.unref(a),class:[e.unref(k)(),o.vertical?e.unref(q)("vertical"):null,e.unref(g)],"onUpdate:value":e.unref(y)}),null,16,["value","options","class","onUpdate:value"]))],64))}});exports.default=O;