提交 a6bd6dd1 编写于 作者: View Design's avatar View Design

自动更新已选

上级 96d7237c
......@@ -52,6 +52,7 @@
const { $isLibrarySelectOpen, $selectCollectionId, $selectThreadId, $collection } = storeToRefs(useLibraryStore())
const { $closeLibrarySelect, $openLibraryCreate, $setSelectCollectionId, $getCollection } = useLibraryStore()
const { saveCollection, deleteCollectionRecord } = useCollectionRequest()
const emits = defineEmits(['success'])
// 合集列表
const selected = ref([])
const loading = ref(false)
......@@ -83,6 +84,11 @@ async function handleSave() {
loading.value = false
handleClose()
$getCollection()
emits('success', {
c_id: $selectThreadId.value,
collection_id: selected.value[0],
collection_name: $collection.value.find(i => i.id === selected.value[0]).name
})
}
watch(() => $isLibrarySelectOpen.value, () => {
selected.value = [...$selectCollectionId.value]
......
......@@ -41,6 +41,7 @@
<UDivider />
</template>
<script setup>
const Layout = inject('Layout')
const { $openLibrarySelect } = useLibraryStore()
const textColor = 'text-gray-500 dark:text-gray-400'
const props = defineProps({
......@@ -73,4 +74,11 @@ const thread = computed(() => {
function handleOpenSelect () {
$openLibrarySelect(props.item.c_id)
}
function handleUpdateCollect (data) {
const { c_id } = data.value
if (c_id === thread.value.c_id) thread.value.collections = [data.value]
}
watch(()=> Layout.selectCollectData, (data) => {
handleUpdateCollect(data)
}, { deep: true })
</script>
\ No newline at end of file
......@@ -30,17 +30,26 @@
</USlideover>
</div>
<ILibraryCreate />
<ILibrarySelect />
<ILibrarySelect @success="handleCollectSuccess" />
</template>
<script setup>
const isOpenAside = ref(false)
const handleToggleAside = () => {
const selectCollectData = ref(null)
function handleToggleAside () {
isOpenAside.value = !isOpenAside.value
}
const handleCloseAside = () => {
function handleCloseAside () {
isOpenAside.value = false
}
function handleCollectSuccess (data) {
selectCollectData.value = data
}
function clearCollectData () {
selectCollectData.value = null
}
provide('Layout', {
handleCloseAside
handleCloseAside,
selectCollectData,
clearCollectData
})
</script>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册