UNPKG

plus-pro-components

Version:

Page level components developed based on Element Plus.

96 lines (93 loc) 2.36 kB
import { ElAutocomplete, ElCascader, ElCheckboxGroup, ElCheckbox, ElColorPicker, ElDatePicker, ElInputNumber, ElRadioGroup, ElRadio, ElRate, ElSelect, ElOption, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTransfer, ElInput, ElTreeSelect, ElSelectV2 } from 'element-plus'; import { PlusRadio } from '../../radio/index.mjs'; import { PlusDatePicker } from '../../date-picker/index.mjs'; import { PlusInputTag } from '../../input-tag/index.mjs'; const FieldComponentMap = { // plus "plus-radio": { component: PlusRadio, hasOptions: true }, "plus-date-picker": { component: PlusDatePicker }, "plus-input-tag": { component: PlusInputTag }, // el autocomplete: { component: ElAutocomplete, props: { placeholder: "plus.field.pleaseEnter" }, hasSelectEvent: true }, cascader: { component: ElCascader, hasOptions: true }, checkbox: { component: ElCheckboxGroup, children: ElCheckbox, hasVersionCompatibility: true }, "color-picker": { component: ElColorPicker }, "date-picker": { component: ElDatePicker, props: { startPlaceholder: "plus.datepicker.startPlaceholder", endPlaceholder: "plus.datepicker.endPlaceholder" } }, "input-number": { component: ElInputNumber, props: { placeholder: "plus.field.pleaseEnter" } }, radio: { component: ElRadioGroup, children: ElRadio, hasVersionCompatibility: true }, rate: { component: ElRate }, select: { component: ElSelect, children: ElOption }, slider: { component: ElSlider }, switch: { component: ElSwitch }, "time-picker": { component: ElTimePicker }, "time-select": { component: ElTimeSelect }, transfer: { component: ElTransfer }, input: { component: ElInput, props: { placeholder: "plus.field.pleaseEnter" } }, textarea: { component: ElInput, props: { type: "textarea", placeholder: "plus.field.pleaseEnter" } }, "tree-select": { component: ElTreeSelect }, "select-v2": { component: ElSelectV2, hasOptions: true } }; const hasFieldComponent = (valueType) => Object.keys(FieldComponentMap).includes( valueType ); const getFieldComponent = (valueType) => Reflect.get(FieldComponentMap, valueType) || {}; export { FieldComponentMap, getFieldComponent, hasFieldComponent };