Compartilhamento de tecnologia

O componente gaveta no Vue3 não pode repetir os dados

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Quando a gaveta não é usada, os dados podem ser ecoados normalmente e o ID de detalhes do clique é passado normalmente. Porém, depois de usar o componente da gaveta, descobri que a função de detalhes só será chamada uma vez, e não importa qual informação. for clicado no futuro, as informações não serão atualizadas na primeira mensagem, mas o ID foi atualizado com sucesso. Mais tarde, descobri que v-if não foi adicionado para determinar o valor de abertura da gaveta. você pode consultar o código a seguir.

componente de gaveta:

  1. <!-- 表单弹窗:详情 -->
  2. <el-drawer
  3. v-model="drawer"
  4. title="详情"
  5. :direction="direction"
  6. v-if="drawer"
  7. size ="71%"
  8. class="drawer"
  9. destory-on-close
  10. >
  11. <DetailForm ref="detailRef" :detailId="detailId"/>
  12. </el-drawer>

importar:

  1. import type { DrawerProps } from 'element-plus'
  2. import { ref } from 'vue';
  3. import DetailForm from '@/views/teach/coursemanagePlus/Index.vue'

Como visualizar detalhes:

  1. /** 查看详情 */
  2. const detailRef = ref()
  3. const drawer = ref(false)
  4. const detailId = ref()
  5. const details = (type: string, id?: number) => {
  6. drawer.value=true
  7. detailId.value=id
  8. }

É isso.

Todos são bem-vindos para criticar, corrigir ou apresentar melhores maneiras de se comunicar e aprender juntos!