import OHeader from '@/components/o-header' import { Button, Checkbox, CheckboxGroup, Icon, Image } from 'vant' import { defineComponent, onMounted, reactive, ref, watch } from 'vue' import styles from './subject-list.module.less' import checkboxCheck from '@/common/images/icon-checkbox-check.png' import checkboxDefault from '@/common/images/icon-checkbox-default.png' import OSticky from '@/components/o-sticky' export default defineComponent({ name: 'subject-list', props: { subjectList: { type: Array, default: () => [] }, selectSubjects: { type: Array, default: () => [] } }, emits: ['close', 'select'], setup(props, { slots, attrs, emit }) { const state = reactive({ check: [] as any, checkboxRefs: [] as any }) const onSelect = (type: string) => { state.checkboxRefs[type].toggle() } const onSubmit = () => { emit('select', state.check) emit('close') } watch( () => props.selectSubjects, () => { state.check = [...props.selectSubjects] } ) onMounted(() => { state.check = [...props.selectSubjects] }) return () => (
{item.subjectName}