TypeError: Cannot read property '_withTask' of undefined

问题描述

方法都有定义,但还是报TypeError: Cannot read property '_withTask' of undefined,
第一次点击的时候会报错,然后再次点击其它的则不会报错,v-model会更新,但显示出来的{{ select }} 没有更新。
删除 v-model="selected" 则不会报错。

问题出现的环境背景及自己尝试过哪些方法

相关代码

主要代码:

<template>
<div>
          <div>{{selected}}</div>
          <table>
        <thead>
          <tr>
            <th>title</th>
          </tr>
        </thead>
        <tbody>
          <tr
            v-for="(item, index) in list"
            :key="item.Id">
            <td class="list-td-check">
              <input
              type="checkbox"
              v-model="selected"
              :value="item.Id"
              @change="Log(item.Id)">
            </td>
          </tr>
       </tbody>
       </table>
  </div>
</template>
<script>
export default {
data() {
    return {
      selected: []
    };
  },
  
  methods: {
      Log(id) {
      console.log(id);
          this.selected = [id];
          cosole.log(this.selected);
      },
  }
}

<、script>

你期待的结果是什么?实际看到的错误信息又是什么?

clipboard.png

阅读 4.9k
3 个回答

没错误啊?


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 引入组件 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
</head>

<body>
    <div id="app">
        <div>{{selected}}</div>
        <table>
            <tr v-for="(item, index) in list" :key="item.id">
                <td class="list-td-check">
                    <input type="checkbox" v-model="selected" :value="item.id" @change="Log(item.id)">
                </td>
            </tr>
        </table>
    </div>
</body>
<script>

    new Vue({
        el:"#app",
        data() {
            return {
                list:[
                    {
                        id:1
                    },
                    {
                        id:2
                    },
                    {
                        id:3
                    },
                    {
                        id:4
                    },
                    {
                        id:5
                    }
                ],
                selected: []
            };
        },
        methods: {
            Log(id) {
                console.log(id);
                this.selected = [id];
                console.log(this.selected);
            },
        }
    })

</script>
</html>

之前遇到过类似的问题,不知道对你帮助大不大,原因是vue版本导致,修改下版本信息试一下..

更新下版本吧,不知道你现在用的什么版本

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题