UNPKG

jobsys-mpower

Version:

Enhanced component based on Taro & NutUI

51 lines (44 loc) 1.16 kB
import { defineComponent, ref, watch } from "vue" import { defaultFieldProps } from "../utils" import MpField from "./MpField.jsx" import { pick } from "lodash-es" import MpUploader from "../uploader/MpUploader.jsx" /** * MpFieldUploader Uploader in form * @version 1.0.0 */ export default defineComponent({ name: "MpFieldUploader", props: { ...defaultFieldProps, modelValue: { type: [Array, Object], default: () => [] }, }, emits: ["update:modelValue"], setup(props, { emit, slots }) { const componentValue = ref(props.modelValue) watch( () => props.modelValue, () => (componentValue.value = props.modelValue), ) const onChange = (value) => { emit("update:modelValue", value) } const fieldProps = pick(props, Object.keys(defaultFieldProps)) return () => ( <MpField {...fieldProps}> {{ ...slots, input: () => ( <MpUploader v-model={componentValue.value} disabled={props.disabled} readonly={props.readonly} {...props.defaultProps} onChange={onChange} ></MpUploader> ), }} </MpField> ) }, })