comic-plus
Version:
<p align="center"> <img width="200px" src="./logo.png"/> </p>
29 lines (28 loc) • 844 B
JavaScript
import { defineComponent, provide, h } from "vue";
import "../style/radio.css";
import { useItemValidate } from "../../../hooks/validate.mjs";
import "../../../utils/config.mjs";
import "@vueuse/core";
import { radioGroupProps, radioGroupEmits } from "./group.props.mjs";
import { RADIOGROUP_PROVIDE } from "./type.mjs";
const RadioGroup = defineComponent({
name: "CuRadioGroup",
props: radioGroupProps,
emits: radioGroupEmits,
setup(props, { slots, emit }) {
const { itemValidate } = useItemValidate();
function changeItemCheck(value) {
emit("update:modelValue", value);
emit("change", value);
itemValidate("change");
}
provide(RADIOGROUP_PROVIDE, {
changeItemCheck,
props
});
return () => h("span", { class: "cu-radio-group" }, slots);
}
});
export {
RadioGroup as default
};