我希望拥有一个属性,例如颜色,它只接受一组特定的颜色。
我希望能做到这样的事情:
properties: {
color: {
type: String,
enum: ['red', 'blue']
}
}
我找不到任何关于声明属性中枚举的支持。是否可以通过根据我接受的值集手动检查值来实现此目的?
答案 0 :(得分:2)
没有对枚举的内置支持,但您可以通过观察者执行此操作:
properties: {
color: {
type: String,
default: 'red',
observer: '_enumColor'
}
},
_enumColor: function(newValue, oldValue) {
var validColors = ['red','green','blue'];
if(validColors.indexOf(newValue) === -1) {
// Put the color back, and maybe throw in a line to throw an error
this.color = oldValue;
}
}