angular+ng-zorro后台搜索页面

继续上一次表格的内容,这次要在页面的头部加上一个搜索框,然后让表格的数据可以根据搜索内容更新
首先要介绍下ng-zorro的栅格化布局,以下摘自官网

在多数业务情况下,Ant Design 需要在设计区域内解决大量信息收纳的问题,因此在 12 栅格系统的基础上,将整个设计建议区域按照 24 等分的原则进行划分。划分之后的信息区块我们称之为『盒子』。建议横向排列的盒子数量最多四个,最少一个。『盒子』在整个屏幕上占比见上图。设计部分基于盒子的单位定制盒子内部的排版规则,以保证视觉层面的舒适感。

布局的栅格化系统,是基于行(row)和列(col)来定义信息区块的外部框架,以保证页面的每个区域能够稳健地排布起来。下面简单介绍一下它的工作原理:通过 row 在水平方向建立一组 column(简写 col),内容应当放置于 col 内,并且,只有 col 可以作为 row 的直接元素。栅格系统中的列是指 1 到 24 的值来表示其跨越的范围。例如,三个等宽的列可以使用 <div nz-col [nzSpan]=“8” /> 来创建。如果一个 row 中的 col 总和超过 24,那么多余的 col 会作为一个整体另起一行排列。我们的栅格化系统基于 Flex 布局,允许子元素在父节点内的水平对齐方式 - 居左、居中、居右、等宽排列、分散排列。子元素与子元素之间,支持顶部对齐、垂直居中对齐、底部对齐的方式。同时,支持使用 order 来定义元素的排列顺序。布局是基于 24 栅格来定义每一个『盒子』的宽度,但不拘泥于栅格。

有了以上的理论知识就可以画出这样的表格了
在这里插入图片描述
代码如下,这是根据官网给的案例进行修改的,这边表单的布局是应用栅格化布局的,我们设置nzSpan的值为6就表示有4个组件,因为4*6=24,栅格布局是基于24栅格的,所以要布局3个条件框的话就把nzSpan的值设为8,代码里的nzGutter的意思用官网的话来解释就是:

栅格常常需要和间隔进行配合,你可以使用 nz-row 的 nzGutter 属性,我们推荐使用 (16+8n)px 作为栅格间隔。(n 是自然数)

<form nz-form class="ant-advanced-search-form">
  <div nz-row [nzGutter]="16">
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件01</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件01</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件01</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件01</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
  </div>
  <div nz-row>
    <div nz-col [nzSpan]="24" class="search-area">
      <button nz-button [nzType]="'primary'">Search</button>
      <button nz-button (click)="resetForm()">Clear</button>
    </div>
  </div>
</form>
<div style="height: 20px;"></div>
<form nz-form class="ant-advanced-search-form">
  <div nz-row [nzGutter]="16">
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件01</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件02</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <nz-form-label>条件03</nz-form-label>
        <nz-form-control>
          <input nz-input placeholder="placeholder" />
        </nz-form-control>
      </nz-form-item>
    </div>
    <div nz-col nzSpan="6">
      <nz-form-item>
        <button nz-button [nzType]="'primary'" (click)="search()">Search</button>
      </nz-form-item>
    </div>
  </div>
</form>

当然千万不要忘记引入组件,要不然是会报错的,也就是在welcome.module.ts中引入,NzButton、NzIconModule、NzSpaceModule、CUSTOM_ELEMENTS_SCHEMA、NO_ERRORS_SCHEMA

import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';

import { WelcomeRoutingModule } from './welcome-routing.module';

import { WelcomeComponent } from './welcome.component';
import { NzTableModule } from 'ng-zorro-antd/table';
import { CommonModule } from '@angular/common';
import { NzFormModule } from 'ng-zorro-antd/form';
import { FormsModule,ReactiveFormsModule } from '@angular/forms';
import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzIconModule } from 'ng-zorro-antd/icon';
import {NzSpaceModule} from 'ng-zorro-antd/space';

@NgModule({
  imports: [WelcomeRoutingModule, 
    NzTableModule, 
    CommonModule, 
    NzFormModule,
    FormsModule,
    ReactiveFormsModule,
    NzButtonModule,
    NzIconModule,
    NzSpaceModule
  ],
  declarations: [WelcomeComponent],
  exports: [WelcomeComponent],
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class WelcomeModule { }

接下来把上面的html代表加入welcome.component.html中就可以了,这样我们就达到了下面的效果
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular中,您可以使用ng-zorro-antd库中的`nz-date-picker`组件来创建一个带有日历和日期范围的日期选择器。以下是一个使用`nz-date-picker`的例子: 1. 首先,您需要在您的应用中安装和导入`ng-zorro-antd`库。 2. 在您的组件的HTML模板中添加一个`nz-date-picker`元素,并使用`nzMode`属性将其定义为日期选择器。 ```html <nz-date-picker nzMode="date"></nz-date-picker> ``` 3. 在您的组件中,您需要定义一个`nz-date-picker`对象,并将其与`nz-date-picker`元素相关联。您还可以使用`nzDisabledDate`属性来定义可选择的日期范围。 ```typescript import { Component } from '@angular/core'; import { NzDatePickerModule } from 'ng-zorro-antd/date-picker'; @Component({ selector: 'app-date-picker', templateUrl: './date-picker.component.html', styleUrls: ['./date-picker.component.css'] }) export class DatePickerComponent { disabledDate = (current: Date): boolean => { const minDate = new Date(2020, 0, 1); const maxDate = new Date(2020, 11, 31); return current < minDate || current > maxDate; } constructor() { } } ``` 在这个例子中,我们定义了一个`disabledDate`函数来禁用不在2020年1月1日和2020年12月31日之间的日期。 4. 最后,您需要在`nz-date-picker`中使用`nzFormat`属性来定义日期的格式。 ```html <nz-date-picker nzMode="date" nzFormat="yyyy-MM-dd" [nzDisabledDate]="disabledDate"></nz-date-picker> ``` 在这个例子中,我们将日期格式定义为`yyyy-MM-dd`。 这就是如何在Angular中使用ng-zorro-antd库中的`nz-date-picker`组件创建一个带有日历和日期范围的日期选择器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值