UNPKG

@fmdevui/fm-dev

Version:

Page level components developed based on Element Plus.

91 lines (86 loc) 2.44 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...{ name: "Fmselect" }, __name: "index", props: /* @__PURE__ */ vue.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__ */ vue.mergeModels(["change"], ["update:id", "update:name"]), setup(__props, { emit: __emit }) { const modeValueId = vue.useModel(__props, "id"); const modeValueName = vue.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 = vue.resolveComponent("el-option"); const _component_el_select = vue.resolveComponent("el-select"); return vue.openBlock(), vue.createBlock(_component_el_select, { modelValue: modeValueId.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modeValueId.value = $event), placeholder: "\u8BF7\u9009\u62E9", onChange: handleSelectChange }, { default: vue.withCtx(() => [ vue.createVNode(_component_el_option, { value: 0, label: "" }), (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, vue.renderList(__props.optionData, (item, index) => { return vue.openBlock(), vue.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"]); }; } }); exports.default = _sfc_main;