我有以下代码块

  data () {
    return {
      parkingExtra: false,
      housekeepingExtra: false,
      storageExtra: false,
      gymExtra: false,
      spaExtra: false,
    }
  },

  methods: {
    enableExtraPriceField: function(elementToToggle) {
      this.elementToToggle = true;
      var el = document.getElementById(elementToToggle);
      el.disabled = false;
      el.placeholder = '';
      el.focus();
    }
  }

elementToToggle参数将始终等于值一个数据变量(我正在使用vue.js),例如parkingExtra,housekeepingExtra等。如何在this.elementToToggle = true中使elementToToggle变量使用相应的值,例如将其转换为this.housekeepingExtra = true?因为它没有使用elementToToggle作为变量。

最佳答案

您将需要使用bracket notation通过变量名this[elementToToggle]访问对象属性:

methods: {
  enableExtraPriceField: function(elementToToggle) {
    this[elementToToggle] = true;
    var el = document.getElementById(elementToToggle);
    el.disabled = false;
    el.placeholder = '';
    el.focus();
  }
}

10-02 13:39