首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置ngmodel值的ngmodel值,并通过键盘不可编辑的方式使其生效。

设置ngmodel值的ngmodel值,并通过键盘不可编辑的方式使其生效。
EN

Stack Overflow用户
提问于 2017-05-11 15:18:21
回答 1查看 604关注 0票数 0

我在项目中使用NG2-数据报警器。这是我正在使用的代码。

代码语言:javascript
复制
<ng2-datepicker class="form-control" required [options]="{format:'MMM DD YYYY'}" [(ngModel)]="User.StartDate" name="StartDate"                                #StartDate="ngModel"></ng2-datepicker>

我被困在

  1. 它不能使键盘不可编辑。
  2. 根据我的需求模型,User.StartDate只需要绑定日期字符串。但它绑定了一个数据对象,如{day:" 12 ",格式化:“2017年5月12日”,momentObject:"2017-05-11T18:30:00.000Z",月份:“05”,年份:“2017”}。在这个ng2-datepicker中有任何方法只保存日期字符串吗?
EN

回答 1

Stack Overflow用户

发布于 2017-05-30 13:10:49

在组件中,可以设置格式选项。

在此对示例进行排序:

代码语言:javascript
复制
import { DatePickerOptions, DateModel } from 'ng2-datepicker';

export class Component implements OnInit {

    public options: DatePickerOptions;

    ngOnInit() {
        this.options =  {
           format: "MM-DD-YYYY",
        };
        //You should initialize date attribute like
        this.user.StartDate = {formatted: 'MM-DD-YYYY'}; // It will work as placeholder/default value;

        // If you want blank on init 
        //this.user.StartDate = {formatted: ''};
    }
    //before save data
    save() {
       this.user.StartDate = this.user.StartDate.formatted;
    }

    //To make it non-editable by a keyboard, but allow Tab and Shift+Tab key
    eventHandler(event)
    {
        if(event.keyCode == 9) {
            if(event.shiftKey)
            {
                return true;
            }
            return true;
        }
        else {
            return false;
        }
    }
}

在模板文件中:

代码语言:javascript
复制
<ng2-datepicker name="StartDate" [options]="options" [(ngModel)]="user.StartDate" (keydown)="eventHandler($event)"></ng2-datepicker>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43919503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档