UNPKG

@fmdevui/fm-dev

Version:

Page level components developed based on Element Plus.

87 lines (84 loc) 2.44 kB
import { defineComponent, useModel, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementBlock, Fragment, renderList, mergeModels } from 'vue'; var _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "Fmselect" }, __name: "index", props: /* @__PURE__ */ mergeModels({ //数据 optionData: { type: Array, default: [] }, /** * 值的属性值 */ bvalue: { type: String, default: "id" }, /** * 值的属性标签 */ blabel: { type: String, default: "name" } }, { "id": { type: Number, default: 0 }, "idModifiers": {}, "name": { type: String, default: "" }, "nameModifiers": {} }), emits: /* @__PURE__ */ mergeModels(["change"], ["update:id", "update:name"]), setup(__props, { emit: __emit }) { const modeValueId = useModel(__props, "id"); const modeValueName = useModel(__props, "name"); const props = __props; const emit = __emit; const handleSelectChange = (value) => { const fitem = props.optionData.find((item) => item[props.bvalue] == value); modeValueName.value = fitem == null ? "" : fitem[props.blabel]; emit("change", fitem); }; return (_ctx, _cache) => { const _component_el_option = resolveComponent("el-option"); const _component_el_select = resolveComponent("el-select"); return openBlock(), createBlock(_component_el_select, { modelValue: modeValueId.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modeValueId.value = $event), placeholder: "\u8BF7\u9009\u62E9", onChange: handleSelectChange }, { default: withCtx(() => [ createVNode(_component_el_option, { value: 0, label: "" }), (openBlock(true), createElementBlock( Fragment, null, renderList(__props.optionData, (item, index) => { return openBlock(), createBlock(_component_el_option, { key: index, value: item[__props.bvalue], label: item[__props.blabel] }, null, 8, ["value", "label"]); }), 128 /* KEYED_FRAGMENT */ )) ]), _: 1 /* STABLE */ }, 8, ["modelValue"]); }; } }); export { _sfc_main as default };