我尝试构建一个“任务管理器”来记录我的客户向我发送的任务。将模型日期defaultValue设置为字符串
我有我的新task.hbs形式
<div id="new-task-form" class="col-md-12">
<form>
<div class="form-group">
<label>Customer</label>
{{input type="text" class="form-control" value=customer placeholder="Add Customer..."}}
</div>
<div class="form-group">
<label>Task</label>
{{textarea class="form-control" value=task placeholder="Add Task..."}}
</div>
<div class="form-group">
<label>Incoming</label>
{{input type="number" class="form-control" value=incoming placeholder="Bring it on..."}}
</div>
<div class="form-group">
<label>Pending</label>
{{input type="number" class="form-control" value=pending placeholder="Don't bring it on..."}}
</div>
<div class="form-group">
<label>Closed Date</label>
{{input type="date" class="form-control" value=closed_date placeholder="Please close me..."}}
</div>
<button {{action 'addTask'}} class="btn btn-primary">Submit</button>
</form>
我的控制器。
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
addTask: function(){
var customer = this.get('customer');
var task = this.get('task');
var incoming = this.get('incoming');
var pending = this.get('pending');
var closed_date = this.get('closed_date');
//Create new task
var newTask = this.store.createRecord('task',{
customer: customer,
task: task,
incoming: incoming,
pending: pending,
closed_date: closed_date
});
//save to db
newTask.save();
}
}
});
和模型
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
export default Model.extend({
customer: attr('string'),
task: attr('string'),
incoming: attr('number', { defaultValue: 0 }),
pending: attr('number', { defaultValue: 0 }),
closed_date: attr('date'),
created: attr('string', {
defaultValue: function(){
return new Date();
}
})
});
我怎么能设置一个默认值模型为的closed_date输入一个字符串“没有进入尚”?
如果我这样离开它,而不是输入一个值,我会得到一个“无效的日期”。
closed_date: attr('date')
如果我设置这个我得到当前日期。
closed_date: attr('date', { defaultValue: 'Not entered yet' })
由于您在创建新任务时传递字符串,因此您收到“无效日期”错误:'closed_date:'closed_date'' – Igor
我正在做一些测试,并且忘记删除复制粘贴上的引号。没有它们的结果是一样的。 – sokostas
您可以将日期设置为“字符串”属性,并在后端处理它。 –