用枚举声明 属性?
Declared property with enums?
我想要一个属性比如color,它只接受某一组颜色。
我希望做这样的事情:
properties: {
color: {
type: String,
enum: ['red', 'blue']
}
}
我找不到任何关于在声明的属性中支持枚举的信息。是否只能通过根据我接受的一组值手动检查值来实现此目的?
没有对枚举的内置支持,但您可以通过观察者来做到这一点:
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;
}
}
我想要一个属性比如color,它只接受某一组颜色。
我希望做这样的事情:
properties: {
color: {
type: String,
enum: ['red', 'blue']
}
}
我找不到任何关于在声明的属性中支持枚举的信息。是否只能通过根据我接受的一组值手动检查值来实现此目的?
没有对枚举的内置支持,但您可以通过观察者来做到这一点:
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;
}
}