前端阿彬 2021-12-04 23:03 采纳率: 0%
浏览 104

vue3操作dom怎么搞

我在dom上写了ref属性,然后setup里初始化了一个ref数据并return里出去,然后再nexttick里想要操作dom,明明获取到dom了,而且实际上也确实页面上的数据改了,但是有报错,应该是ts造成的,怎么解决呢?

img

img

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <div v-for="(item,i) in arrs" v-bind:key="i" @click="select(i)">
     {{i}} {{item}} |
  </div>
  <span :class="{'empty:':obj?.a?.b===0,'hello':'1'==='1'}">你选择了{{ selected }}</span><br/>
  <span ref="test">原数据</span>
<!-- <hello></hello> -->
</template>

<script lang="ts">
import { defineComponent, ref,nextTick , reactive, toRefs,toRaw, onBeforeMount, onMounted, onRenderTracked, onRenderTriggered } from 'vue';
import hello from './components/HelloWorld.vue'


interface dataType {
  arrs: string[];
  selected: string;
  select: (index:number) => void
}


export default defineComponent({
  name: 'App',
  components: {
hello
  },
  setup() {
    const data:dataType = reactive({
      arrs: ref(["苹果","香蕉","橘子"]),
      selected: "",
      select : (index:number) => {
        data.selected = data.arrs[index]
      }
    })
   
    const refData = toRefs(data)
    const arrs = ref(["苹果","香蕉","橘子"])
    const selected = ref("")
    const select = (index:number) => {
      selected.value = arrs.value[index]
    }
    
    
    const test = ref(null)


    
  
    nextTick(() => {
       let raw =toRaw(data)
       console.log(raw);  

       test.value.innerHTML = '修改后的数据'
    })
      
    //跟踪所有状态
    // onRenderTracked((e) => {
    //   console.log('1',e);
      
    // })
  
    // //状态触发
    // onRenderTriggered((e) => {
    //   console.log(e);
      
    // })


    return{
      // arrs,
      // selected,
      // select
      ...refData,
      test,
      obj:{a:{b:0}}
    }
  }
});
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>



  • 写回答

1条回答 默认 最新

  • 关注

    因为你初始化是null,这个只是一个警告。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月4日

悬赏问题

  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?