@layui/layui-vue
Version:
a component library for Vue 3 base on layui-vue
16 lines (15 loc) • 1.68 kB
JavaScript
import { defineComponent as V, inject as t, ref as v, computed as o, withDirectives as S, openBlock as c, createElementBlock as g, normalizeClass as w, unref as f, createBlock as O, isRef as B, createCommentVNode as C, renderSlot as R, createTextVNode as _, toDisplayString as j, vShow as D } from "vue";
import N from "../checkbox/index2.js";
const L = V({ name: "LaySelectOption", __name: "index", props: { label: { default: "" }, value: {}, disabled: { type: Boolean, default: !1 }, keyword: { default: "" } }, setup(m) {
const a = m, u = t("searchValue"), p = t("selectRef"), i = t("searchMethod"), l = t("selectedValue"), d = t("multiple"), n = v(), b = () => {
var e;
d.value ? a.disabled || ((e = n.value) == null || e.toggle()) : a.disabled || (p.value.hide(), l.value = a.value);
}, y = o(() => d.value ? l.value.indexOf(a.value) != -1 : l.value === a.value), r = v(!0), k = o(() => {
var e, s;
return i && !r.value ? i(u.value, a) : (r.value = !1, ((e = a.keyword) == null ? void 0 : e.toString().indexOf(u.value)) > -1 || ((s = a.label) == null ? void 0 : s.toString().indexOf(u.value)) > -1);
}), h = o(() => ["layui-select-option", { "layui-this": y.value, "layui-disabled": a.disabled }]);
return (e, s) => S((c(), g("dd", { class: w(h.value), onClick: b }, [f(d) ? (c(), O(N, { key: 0, skin: "primary", ref_key: "checkboxRef", ref: n, modelValue: f(l), "onUpdate:modelValue": s[0] || (s[0] = (x) => B(l) ? l.value = x : null), disabled: e.disabled, value: e.value }, null, 8, ["modelValue", "disabled", "value"])) : C("", !0), R(e.$slots, "default", {}, () => [_(j(e.label), 1)])], 2)), [[D, k.value]]);
} });
export {
L as default
};