【问题标题】:How can I get only the field from a vuetify table to post in axios如何仅从 vuetify 表中获取字段以在 axios 中发布
【发布时间】:2023-03-10 20:35:02
【问题描述】:

如何仅从 vuetify 表中获取字段以在 axios 中发布,我有一个表,如下面的代码所示

 <div id="app">
      <v-app id="inspire">
        <v-card>
          <v-card-title>
            <v-text-field
              v-model="search"
              append-icon="mdi-magnify"
              label="Search"
              single-line
              hide-details
            ></v-text-field>
          </v-card-title>
          <v-data-table
            :headers="headers"
            :items="students"
            :search="search"
          >
            <template  v-slot:item.status="{ item }">
              <v-btn v-if="item.status" @click="add(item)">Add</v-btn>
              
              <v-btn v-else disabled>Temporarily no access</v-btn>   
            </template>
            
          </v-data-table>
        </v-card>
      </v-app>
    </div>

从脚本我有以下代码

 const app = new Vue({
   el: '#app',
   vuetify: new Vuetify(),    
   data() {
         return {
           search: '',
           headers: [
             { text: 'Number list', align: 'start', value: 'id'},
             { text: 'Name', align: 'start', value: 'name'},
             { text: 'Options', value: 'status' }
           ],
           students: [
        {
          id: 1,
          name: pedro,
          status: activo,
        },
        {
          id: 2,
          name: juan,
          status: activo,
        },
        {
          id: 3,
          name: jose,
          status: activo,
        },
       ]
         };
       },
    methods: {
        add (item) {
        axios.post('http://localhost/list?id=' + item.id)
          .then(response => {
            this.response = response
        }).catch(e => {
          console.log(e)
        });
      },
    
    }
 });

我想要做的是,当我点击它时,我只使用 axios 发送每个帖子的 id 但是当我点击它时,我在控制台中收到一个错误,说该项目未定义,这是我的主要错误,正如你可以看到我需要它首先验证学生的状态是否有效。下面我还添加了一张生成表的图片以供进一步参考。

table reference

编辑

我忘记放了

 @click="add(item)"

但还是不行,即使有catch,控制台也不再出现错误

【问题讨论】:

    标签: javascript vue.js axios vuetify.js vuetify-datatable


    【解决方案1】:

    试试:

     <v-btn v-if="item.estado" @click="add(item)">Add</v-btn>
    

    尝试 2: 首先通过添加以下行检查item 是否正确通过。也许这将有助于追查问题

         <template v-slot:item.status="{ item }">
                  <p>Debug item text: {{item}}</p>
                  <v-btn v-if="item.status" @click="add(item)">Add</v-btn>
                  
                  <v-btn v-else disabled>Temporarily no access</v-btn>   
                </template>
    

    【讨论】:

    • 确实忘记放了,但这不是问题,它仍然不起作用
    • 添加了解决此问题的额外尝试
    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2020-12-15
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多