我正在寻找一种方法来使用knockout和knockout mapping将项添加到属于另一个数组中的项的数组.
我有以下,一个Person,它有一个WorkItems数组,有一个ActionPlans数组.Person> WorkItems> ActionPlans
淘汰赛代码如下 -
var PersonViewModel = function(data) {
var self = this;
ko.mapping.fromJS(data, trainingCourseItemMapping, self);
self.addWorkItem = function() {
var WorkItem = new WorkItemVM({
Id: null,
JobSkillsAndExpDdl: "",
JobSkillsAndExperience: "",
ActionPlans: ko.observableArray(),
PersonId: data.Id
})
self.WorkItems.push(WorkItem)
};
self.addActionPlan = function () {
var actionPlan = new ActionPlanVM({
Id: null,
priorityAreaStage: "",
goal: "",
action: "",
byWho: "",
byWhen: ""
WorkItemId: data.Id
});
self.ActionPlans.push(actionPlan);
};
}
Run Code Online (Sandbox Code Playgroud)
数组映射
var trainingCourseItemMapping = {
'WorkItem': {
key: function(workitem) {
return …Run Code Online (Sandbox Code Playgroud) javascript asp.net-mvc knockout-mapping-plugin knockout-2.0 knockout.js
在我的 asp.net core 2.2 应用程序中使用以下标记帮助器,Chrome 会显示一个 html5 日期选择器(如图所示)。
<div class="col-md-6 input-group-sm">
<label asp-for="Dob"></label>
<input asp-for="Dob" class="form-control"/>
<span asp-validation-for="Dob" class="text-danger"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
DOB 的模型属性是 -
public DateTime? Dob { get; set; }
Run Code Online (Sandbox Code Playgroud)
chrome 中生成了什么 -
这不会发生在 Internet Explorer 中,我可以看到这是由于 chrome 在 html 中添加了 type="datetime-local" 造成的。
问题
有没有办法删除这个自动生成的日期选择器,以便我可以使用替代方案?