| import { bindTag, createTag, fetchTagList, unBindTag } from '@/service/tag' | import { bindTag, createTag, fetchTagList, unBindTag } from '@/service/tag' | ||||
| import { ToastContext } from '@/app/components/base/toast' | import { ToastContext } from '@/app/components/base/toast' | ||||
| interface TagSelectorProps { | |||||
| type TagSelectorProps = { | |||||
| targetID: string | targetID: string | ||||
| isPopover?: boolean | isPopover?: boolean | ||||
| position?: 'bl' | 'br' | position?: 'bl' | 'br' | ||||
| }) => { | }) => { | ||||
| const { t } = useTranslation() | const { t } = useTranslation() | ||||
| const tagList = useTagStore(s => s.tagList) | |||||
| const setTagList = useTagStore(s => s.setTagList) | const setTagList = useTagStore(s => s.setTagList) | ||||
| const getTagList = async () => { | const getTagList = async () => { | ||||
| const triggerContent = useMemo(() => { | const triggerContent = useMemo(() => { | ||||
| if (selectedTags?.length) | if (selectedTags?.length) | ||||
| return selectedTags.map(tag => tag.name).join(', ') | |||||
| return selectedTags.filter(selectedTag => tagList.find(tag => tag.id === selectedTag.id)).map(tag => tag.name).join(', ') | |||||
| return '' | return '' | ||||
| }, [selectedTags]) | |||||
| }, [selectedTags, tagList]) | |||||
| const Trigger = () => { | const Trigger = () => { | ||||
| return ( | return ( |