在vue.js中使用默认操作道具

时间:2019-06-20 17:56:18

标签: vue.js

所以基本上,我很少有需要像这样更改init上的props值的情况,

props : {
    columnName : String,
    setValue: {

        validator: function (value) {
            //enum edge cases
            let _value = value;
            if(value === 'YES' || value === 'ACTIVE'){
                value = 0;
            }
            else if(value === 'NO' || value === 'VOID'){
                value = 1;
            }
            console.log(_value);
            return _value;
        }
    }
},

有可能吗,我确实尝试过,但是它仍在发送实际值而不是0/1

1 个答案:

答案 0 :(得分:1)

您可以尝试返回“值”而不是“ _value”。 但是,我认为这是计算属性的工作,而不是试图直接操纵道具。

computed:{
  computedSetValue(){
    if(this.setValue === 'YES' || this.setValue === 'ACTIVE'){
      return 0
    }
    else if(this.setValue=== 'NO' || this.setValue=== 'VOID'){
      return 1
    } 
    return 0      
  }
}

然后,您可以像使用this.computedSetValue一样使用this.setValue