vue-admin-core
Version:
A Component Library for Vue 3
64 lines (61 loc) • 1.98 kB
JavaScript
import { defineComponent, ref, reactive, h, toRefs } from 'vue';
import { connect, mapProps, mapReadPretty } from '@formily/vue';
import { ElTreeSelect, UPDATE_MODEL_EVENT, CHANGE_EVENT } from 'element-plus';
import '../../preview-text/index.mjs';
import { useArrToStr } from '../../__builtins__/hooks/useArrToStr.mjs';
import { PreviewText } from '../../preview-text/src/index.mjs';
const InnerTreeSelect = defineComponent({
name: "FTreeSelect",
props: {
...ElTreeSelect.props,
props: {
type: Object,
default: () => ({
children: "children",
label: "label",
value: "value",
disabled: "disabled"
})
}
},
emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT],
setup(props, ctx) {
var _a;
const { slots } = ctx;
const treeselect = ref();
const nodeKey = ((_a = props == null ? void 0 : props.props) == null ? void 0 : _a.value) || props.nodeKey || "value";
const _props = useArrToStr(props, ctx, {
vm: treeselect
});
const state = reactive({
defaultExpandedKeys: props.defaultExpandedKeys || [],
defaultCheckedKeys: props.defaultCheckedKeys || []
});
return () => {
return h(
ElTreeSelect,
reactive({
...toRefs(props),
..._props,
nodeKey,
defaultExpandedKeys: state.defaultExpandedKeys,
onNodeExpand: (data) => {
state.defaultExpandedKeys.push(data[nodeKey]);
},
onNodeCollapse: (data) => {
state.defaultExpandedKeys.splice(state.defaultExpandedKeys.indexOf(data[nodeKey]), 1);
},
ref: (ref2) => treeselect.value = ref2
}),
slots
);
};
}
});
const TreeSelect = connect(
InnerTreeSelect,
mapProps({ dataSource: "data", loading: true, value: "modelValue", readOnly: "readonly" }),
mapReadPretty(PreviewText.TreeSelect)
);
export { TreeSelect, TreeSelect as default };
//# sourceMappingURL=index.mjs.map