【问题标题】:Tabulator + Nuxt.js: How to use axios in callbacks?Tabulator + Nuxt.js:如何在回调中使用 axios?
【发布时间】:2020-01-16 08:48:53
【问题描述】:

我尝试在我的 Nuxt.js 项目中添加 Tabulator。我已经完成了下一个组件:

<template>
  <div ref="table"></div>
</template>

<script>
  let Tabulator = require("tabulator-tables")
  import 'tabulator-tables/dist/css/tabulator_simple.min.css'
  let saveIcon = function(cell, formatterParams, onRendered) {
    return "<img src='/icons/save.png'>";
  }

  export default {
    data() {
        return {
          tabulator: null,
          tableData: [
            {
              id: 1,
              username: 'user',
              email: 'email@email.ru',
              activationCode:'1243412-123413-4134',
              active: true,
              admin: true,
              user: true
            }
          ],
        }
      },
      watch: {
        tableData: {
          handler: function (newData) {
            this.tabulator.replaceData(newData);
          },
          deep: true,
        }
      },
      mounted(){
        this.tabulator = new Tabulator(this.$refs.table, {
          data: this.tableData,
          reactiveData:true,
          columns: [
            {title:"#", field:"id", sorter:"number"},
            {title:"Пользователь", field:"username", sorter:"string"},
            {title:"Email", field:"email", sorter:"string"},
            {title:"Код активации", field:"activationCode"},
            {title:"Активный", field:"active", align:"center", formatter:"tickCross", editor:true},
            {title:"Роли",
              columns:[
                {title:"Администратор", field:"admin", align:"center", formatter:"tickCross", editor:true},
                {title:"Пользователь", field:"user", align:"center", formatter:"tickCross", editor:true},
              ],
            },
            {formatter:saveIcon, width: 30, align:"center", cellClick:function(e, cell){
                this.$axios.$get('/admin/user')
                  .then((response) => {
                    console.log(result)
                  })
              },
            }
          ],
        });
      },
  }
</script>

我想在 Nuxt.js 的回调“axios”中使用,但它不起作用。我不明白该怎么做。

据我了解,我将无法使用 Tabulator 中方法部分的功能?

【问题讨论】:

    标签: vue.js axios nuxt.js tabulator


    【解决方案1】:

    尝试使用箭头函数表达式。常规函数有它们自己的“this”。

     {formatter:saveIcon, width: 30, align:"center", cellClick:(e, cell) => {
                    this.$axios.$get('/admin/user')
                      .then((response) => {
                        console.log(result)
                      })
                  },
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 2020-01-08
      • 2020-03-07
      • 1970-01-01
      • 2019-12-31
      • 2021-10-18
      • 2020-05-19
      相关资源
      最近更新 更多