• Material使用10 MdRadioModule、MdDatepickerModule、MdNativeDateModule、MdSelectModule


    1 MdRadioModule

      相当于<input type="radio">

    2 使用步骤

      2.1 在共享模块导入MdRadioModule

        

    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { 
      MdSidenavModule, 
      MdToolbarModule,
      MdIconModule,
      MdButtonModule,
      MdIconRegistry,
      MdCardModule,
      MdInputModule,
      MdListModule,
      MdSlideToggleModule,
      MdGridListModule,
      MdDialogModule,
      MdAutocompleteModule,
      MdMenuModule,
      MdRadioModule,
      MdDatepickerModule,
      MdNativeDateModule
     } from '@angular/material';
     import { HttpModule } from '@angular/http';
    
    @NgModule({
      imports: [
        CommonModule,
        HttpModule,
        MdSidenavModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule
      ],
      declarations: [],
      exports: [
        CommonModule,
        MdSidenavModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        HttpModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule
      ],
      providers: [
        // MdDialog
      ]
    })
    export class SharedModule { }
    View Code

      2.2 利用md-radio-group 和 md-radio-button 实现单选框效果

        

    <h3>GridList</h3>
    <div class="box">
      <md-grid-list cols="4">
        <md-grid-tile>
          <md-grid-tile-header>页眉</md-grid-tile-header>
          <md-icon>menu</md-icon>测试01
          <md-grid-tile-footer>页脚</md-grid-tile-footer>
        </md-grid-tile> 
      </md-grid-list>
    </div>
    <hr />
    
    <h3>Dialog</h3>
    <div class="box">
      <button class="fab-button" md-fab type="button" (click)="openNewProjectDialog()" color="primary">
          <md-icon>add</md-icon>
      </button>
    </div>
    
    <h3>Menu</h3>
    <div class="box">
      <button class="fab-button" md-fab type="button"  color="accent" [mdMenuTriggerFor]="testMenu">
          <md-icon>menu</md-icon>
      </button>
      <md-menu #testMenu="mdMenu">
        <button md-menu-item (click)="onClick('刷新按钮')">
          <md-icon>autorenew</md-icon>
          <span>刷新</span>
        </button>
        <button md-menu-item (click)="onClick('设置按钮')">
          <md-icon>settings</md-icon>
          <span>设置</span>
        </button>
      </md-menu>
    </div>
    
    <h3>Radio</h3>
    <div class="box">
      <md-radio-group>
        <md-radio-button value="1">男</md-radio-button>
        <md-radio-button value="2">女</md-radio-button>
      </md-radio-group>
    </div>
    
    
    <!-- <md-grid-list cols="4" rowHeight="1:1" gutterSize="1px">
      <md-grid-tile colspan="2">测试01:跨两行</md-grid-tile>
      <md-grid-tile rowspan="2">测试02:跨两列</md-grid-tile>
      <md-grid-tile>测试03</md-grid-tile>
      <md-grid-tile colspan="2" rowspan="2">测试04:跨两行,跨两列</md-grid-tile>
      <md-grid-tile>测试05</md-grid-tile>
      <md-grid-tile>测试06</md-grid-tile>
      <md-grid-tile>测试07</md-grid-tile>
    </md-grid-list> -->
    View Code

      2.3 效果如下

        

    3 MdDatepickerModule

      3.1 简要描述

        MdDatepickerModule的md-datepicker组件是一个日历组件,可以提供日期

      3.2 使用步骤

        3.2.1 在共享模块导入MdDatepickerModule、MdNativeDateModule

          

            技巧01:MdNativeDateModule模块是用来格式化日期的;只需将MdNativeDateModule模块导入到共享共享模块中并做导出处理,在用到MdDatepickerModule的模块中导入共享模块中接口(一般都将这两个模块同时放到共享模块中同时都做导出处理即可)

    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    import { 
      MdSidenavModule, 
      MdToolbarModule,
      MdIconModule,
      MdButtonModule,
      MdIconRegistry,
      MdCardModule,
      MdInputModule,
      MdListModule,
      MdSlideToggleModule,
      MdGridListModule,
      MdDialogModule,
      MdAutocompleteModule,
      MdMenuModule,
      MdRadioModule,
      MdDatepickerModule,
      MdNativeDateModule
     } from '@angular/material';
     import { HttpModule } from '@angular/http';
    
    @NgModule({
      imports: [
        CommonModule,
        HttpModule,
        MdSidenavModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule
      ],
      declarations: [],
      exports: [
        CommonModule,
        MdSidenavModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        HttpModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule
      ],
      providers: [
    
      ]
    })
    export class SharedModule { }
    View Code

        3.2.2 利用 md-input-container 和 md-datepicker 实现效果

          

    <h3>GridList</h3>
    <div class="box">
      <md-grid-list cols="4">
        <md-grid-tile>
          <md-grid-tile-header>页眉</md-grid-tile-header>
          <md-icon>menu</md-icon>测试01
          <md-grid-tile-footer>页脚</md-grid-tile-footer>
        </md-grid-tile> 
      </md-grid-list>
    </div>
    <hr />
    
    <h3>Dialog</h3>
    <div class="box">
      <button class="fab-button" md-fab type="button" (click)="openNewProjectDialog()" color="primary">
          <md-icon>add</md-icon>
      </button>
    </div>
    
    <h3>Menu</h3>
    <div class="box">
      <button class="fab-button" md-fab type="button"  color="accent" [mdMenuTriggerFor]="testMenu">
          <md-icon>menu</md-icon>
      </button>
      <md-menu #testMenu="mdMenu">
        <button md-menu-item (click)="onClick('刷新按钮')">
          <md-icon>autorenew</md-icon>
          <span>刷新</span>
        </button>
        <button md-menu-item (click)="onClick('设置按钮')">
          <md-icon>settings</md-icon>
          <span>设置</span>
        </button>
      </md-menu>
    </div>
    
    <h3>Radio</h3>
    <div class="box">
      <md-radio-group>
        <md-radio-button value="1">男</md-radio-button>
        <md-radio-button value="2">女</md-radio-button>
      </md-radio-group>
    </div>
    
    <h3>Radio</h3>
    <div class="box">
      <md-input-container class="full-width">
        <input mdInput type="text" placeholder="日期测试" [mdDatepicker]="datepicker" />
        <button type="button" mdPrefix [mdDatepickerToggle]="datepicker"></button>
      </md-input-container>
      <md-datepicker #datepicker></md-datepicker>
    </div>
    View Code

      3.3 效果展示

         

          

         

    4 MdSelectModule的使用

      md-select组件的效果和select元素的效果是一样的,只不过md-select组件拥有material的先关样式和动画

      4.1 在共享模块引入MdSelectModule

         

    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    
    import { 
      MdToolbarModule,
      MdIconModule,
      MdButtonModule,
      MdCardModule,
      MdInputModule,
      MdListModule,
      MdSlideToggleModule,
      MdGridListModule,
      MdDialogModule,
      MdAutocompleteModule,
      MdMenuModule,
      MdCheckboxModule,
      MdTooltipModule,
      MdRadioModule,
      MdDatepickerModule,
      MdNativeDateModule,
      MdSelectModule
     } from '@angular/material';
    
    @NgModule({
      imports: [
        CommonModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdCheckboxModule,
        MdTooltipModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule,
        MdSelectModule
      ],
      declarations: [],
      exports: [
        CommonModule,
        MdToolbarModule,
        MdIconModule,
        MdButtonModule,
        MdCardModule,
        MdInputModule,
        MdListModule,
        MdSlideToggleModule,
        MdGridListModule,
        MdDialogModule,
        MdAutocompleteModule,
        MdMenuModule,
        MdCheckboxModule,
        MdTooltipModule,
        MdRadioModule,
        MdDatepickerModule,
        MdNativeDateModule,
        MdSelectModule
      ]
    })
    export class SharedModule { }
    View Code

      4.2 在组件中使用md-select组件

        

    <div class="panel panel-primary">
      <div class="panel-heading">md-select的使用</div>
      <div class="panel-body">
        <md-select placeholder="请选择目标列表" class="fill-width" style="height: 40px;">
          <md-option *ngFor="let taskList of taskLists" [value]="taskList.name">{{taskList.name}}</md-option>
        </md-select>
      </div>
      <div class="panel-footer">2018-1-18 14:26:58</div>
    </div>
    HTML
    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-test01',
      templateUrl: './test01.component.html',
      styleUrls: ['./test01.component.scss']
    })
    export class Test01Component implements OnInit {
    
      taskLists = [
        {label: 1, name: '进行中'},
        {label: 2, name: '已完成'}
      ];
    
      constructor() { }
    
      ngOnInit() {
      }
    
    }
    TS

      4.3 效果展示

        

      4.4 官方文档

        点击前往

     
     
     
  • 相关阅读:
    一次linux启动故障记录
    linux 时间相关的一些总结
    linux 3.10 gro的理解和改进
    linux 3.10 的中断收包笔记
    一个有趣的nginx问题引发的小问题
    linux 3.10 tcp的accept测试
    linux mce的一些相关内容和用户态监控的设计方法
    C/C++(基础-运算符详解)
    C/C++(基础-常量,类型转换)
    C/C++(基础编码-补码详解)
  • 原文地址:https://www.cnblogs.com/NeverCtrl-C/p/8128046.html
Copyright © 2020-2023  润新知