【问题标题】:Vue.js crud javascript?Vue.js crud javascript?
【发布时间】:2020-11-01 08:14:21
【问题描述】:

我需要将数据加载到动手操作表中,

当我使用时:

  1. 案例:如果直接用于数据,它的工作很好,但是我需要在从Axios创建时加载数据,使用Axios。这不起作用。
data: function() {
  return {
    info:[],
    hotSettings: {
      data: [['a','b','c'],['ra','rb','rc']],
    }
  }
}
  1. 案例:如果在我的变量信息中使用,它也不起作用。
data: function() {
  return {
    info:[['a','b','c'],['ra','rb','rc']],
    hotSettings: {
      data: this.info,
    }
  }
}
  1. 案例:使用创建的挂钩。这不起作用。
<template>     
   <div>
     <hot-table ref="hotTableComponent" :settings="hotSettings"></hot-table>
   </div>
</template>
     
<script>
import { HotTable } from '@handsontable/vue';
import Handsontable from 'handsontable';
    
export default {
  created: function (){
    this.newData()
  },
  data: function() {
    return {
      info:[],
      hotSettings: {
        data: this.info,
        colHeaders: ['ID','Name',' pain'],
        rowHeaders: true,
        minRows: 2,
        minCols: 3,
      }
    }
  },
  methods: {
    newData() {
      //dont work 1rs,
      this.info = ['a','b','c'],['ra','rb','rc']];
    
      // don't work, change 2dn 
      // let urlsecciones = 'seccion/show';
      // axios.get(urlsecciones).then(response => {
      //        this.info = response.data;
      //        console.log(response.data) // run good
      // });
     }
  },        
    components: {
      HotTable
    }
  }
</script>

【问题讨论】:

    标签: javascript vue.js axios handsontable


    【解决方案1】:

    您不能在它们之间引用数据属性,而是可以使用计算属性来处理您想要的:

    new Vue({
      el: "#app",
      created: function (){
        this.newData()
      },
      data() {
        return {
          info: [],
        }
      },    
      computed:{
        hotSettings(){
          return {
            data: this.info,
            colHeaders: ['ID','Name',' pain'],
            rowHeaders: true,
            minRows: 2,
            minCols: 3,
          }
        }
      },
      methods: {
        newData() {
           this.info =  [
             ["a", "b", "c"],
             ["ra", "rb", "rc"]
           ]
          // Handle Axios logic here
       }
     },
      components: {
         'hottable': Handsontable.vue.HotTable
      }
    });
     <div id="app">
       <HotTable :settings="hotSettings"></HotTable>
     </div>

    Jsfiddle:https://jsfiddle.net/hansfelix50/069s1x35/

    【讨论】:

    • 请不要链接外部网站,而是使用内置于 SO 中的调试器。谢谢!
    • 看小提琴@Carlos
    • 嗨@HansFelixRamos,你可以帮我,请告诉我link
    猜你喜欢
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2021-03-02
    • 2017-10-13
    • 2018-07-07
    • 2017-03-03
    相关资源
    最近更新 更多