我目前正在使用Autoform在Meteor中创建一个表单,并尝试让用户输入他们想要用于事件的时间限制。我当前的架构看起来像下面的示例,但我只是想知道如何更改timeLimit对象,以便它不会只显示格式' 0'中的数字,它将返回格式' 00 :00'并让我能够在几秒钟内记录信息。
EventSchema = new SimpleSchema({
name: {
type: String,
label: "Event Name"
},
timeLimit: {
type: Number,
label: "Time Limit"
},
rounds: {
type: Number,
label: "Rounds"
}
});
答案 0 :(得分:0)
一种方法是为用户输入一个字段,这将是" mm:ss"中的一个字符串。格式。并计算另一个字段并显示秒数。
因此,在此示例中,您将在表单上显示timeLimitString字段,因此用户可以输入" mm:ss"格式。并使用timeLimit字段上的autoValue函数来计算秒数(此示例使用moment.js库来计算秒数);
EventSchema = new SimpleSchema({
name: {
type: String,
label: "Event Name"
},
timeLimitString: {
type: String,
regEx: // define regex here for "mm:ss" format
},
timeLimit: {
type: Number,
label: "Time Limit",
autoValue: function() {
var string = this.field("timeLimitString");
if (string.isSet) {
var time = moment(string.value, "mm:ss");
var seconds = time.minutes()*60 + time.seconds();
return seconds;
}
}
},
rounds: {
type: Number,
label: "Rounds"
}
});