arco-crud-plus
Version:
基于arco-design-vue的配置化表格表单组件
2 lines (1 loc) • 1.04 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),C=require("@arco-design/web-vue/es/_utils/global-config"),x=require("json-editor-vue"),E=o.defineComponent({name:"AJsonEditor",__name:"index",props:{mode:{default:"text"},height:{},maxHeight:{default:""}},emits:["onChange","onError","onChangeMode"],setup(a,{expose:i,emit:l}){const u=a,t=l,c=C.getPrefixCls("json-editor"),d=o.computed(()=>[c]),f=o.getCurrentInstance(),n=o.ref(),r=o.ref();o.onMounted(()=>{f&&(r.value=n.value.jsonEditor)});const m=e=>{t("onError",e)},g=(e,s,p)=>{if(e.text){try{e.json=JSON.parse(e.text)}catch{}e.text=void 0}t("onChange",e.json,s,p)},h=e=>{t("onChangeMode",e)};return i({jsonEditor:r}),(e,s)=>(o.openBlock(),o.createBlock(o.unref(x),{ref_key:"jsonEditorVueRef",ref:n,class:o.normalizeClass(d.value),mode:e.mode,onError:m,onChange:g,onChangeMode:h,style:o.normalizeStyle({"max-height":u.maxHeight,"overflow-y":"auto"})},null,8,["class","mode","style"]))}});exports.default=E;