programing

Vuetify - 폼 규칙에서 데이터에 액세스하는 방법

javaba 2022. 7. 10. 11:24
반응형

Vuetify - 폼 규칙에서 데이터에 액세스하는 방법

의 데이터 요소에 액세스 할 수 있습니까?rule?

실행 중인 코드입니다.

난 그 가치를 뒤집으려고 노력중이야dataVuetify 형식의 텍스트 필드 규칙 요소.

규칙 자체는 정상적으로 동작하지만 데이터 요소에 액세스할 수 없어 다음 오류가 발생합니다.

TypeError: Cannot set property 'disabled' of undefined

코드는 다음과 같습니다.

data: function() {
return {
  disabled: false,
  rules:{
    sellerId(value){
      if(value.length == 0){
        this.disabled = true;
        return "What are you trying to do here?";  
      }
      else{
        return true;
      }
    }
  },

내가 뭘 잘못하고 있지?

rules기능 배열입니다.또, 이 기능이 필요한 경우,data속성을 컴포넌트 메서드로 정의할 수 있습니다.

data: function () {
  return {
    disabled: false
  }
},
methods: { 
  sellerId (value) {
    if (value.length === 0) {
      this.disabled = true;
      return "What are you trying to do here?";  
    } else {
      return true;
    }
  }
}

그리고 네 안에Vuetify컴포넌트:

<v-text-field :rules="[ sellerId ]"></v-text-field>

정의하려고 하다rules~하듯이computed속성:

data: function() {
    return {
      disabled: false,
      ...
    }
  },
  computed: {
    sellerIdRules() {
      return [
         (v) => {
        if (value.length == 0) {
          this.disabled = true;
          return "What are you trying to do here?";
        } else {
          return true;
        } ]
      }
    }
  }

하는 동안에this규칙 함수에서 사용할 수 없습니다. vue 인스턴스를 변수에 할당하면 변수에 vue 인스턴스를 할당할 수 있습니다. vue 인스턴스는 닫힘에 따라 범위에 포함됩니다.

vm = new Vue({
    el: '#app',
    data: () => ({
        disabled: true,
        rules: [
            value => {
                if (value.length == 0) {
                    vm.disabled = true;
                    return "What are you trying to do here?";  
                }
                else {
                    return true;
                }
            }
        ],
'''

언급URL : https://stackoverflow.com/questions/53366501/vuetify-how-to-access-data-in-form-rule

반응형