Ant-Design-Vue中关于Table组件的使用(初级)

1. 如何自定义表格列头:

<a-table
        :columns="columns"
        :dataSource="dataSource">
        <span slot="customTitle"><a-icon type="smile-o"/>Name</span>
</a-table>
const columns = [  
    { 
      dataIndex: ‘name‘,    // 自定义列表头,则不能设置title属性
      align: ‘left‘,
      slots: { title: ‘customTitle‘}  // 在这里定义一个slots属性,并设置一个title属性
    }
]

页面将会渲染为如下:

2.如何设置自定义单行样式

<a-table
        :columns="columns"
        :dataSource="dataSource">
        <span slot="action" slot-scope="record, index"> // 这里传入的值分别是:record:当前行的原始数据,index:当前行的索引
          <a @click="handleEdit(record.key)">编辑</a>
        </span>
</a-table>
const columns = [
    {
      title: ‘菜单名称‘
      dataIndex: ‘name‘,  // dataIndex的值对应的是,列数据在数据项中对应的 key      key: ‘name‘,
      align: ‘left‘,
    },
    {
      title: ‘操作‘,    key: ‘action‘
      dataIndex: ‘action‘,
      width: ‘30%‘,
      scopedSlots: { customRender: ‘action‘ },    //这一行自定义渲染这一列
      align: ‘center‘
    }
 ]  

页面展示如下:

3.如何设置表头,页脚和边框线?

<template>
  <a-table :columns="columns" :dataSource="data" bordered>  // 这里添加bordered属性,就可以添加上边框线
    <template slot="name" slot-scope="text">
      <a href="javascript:;">{{text}}</a>
    </template>
    <template slot="title" slot-scope="currentPageData">  // slot="title"就可以设置页头了,‘title‘改为其他值则没有页头
      Header--{{currentPageData}}    // 这里打印一下currentData,看下是啥值    </template>     <template slot="footer"> Footer </template>  // 跟上同理 </a-table> </template>
const columns = [  // columns中并没有定义页头和页脚的相关代码
    {
      title: ‘Name‘,
      dataIndex: ‘name‘,
      scopedSlots: { customRender: ‘name‘ },
    },
    {
      title: ‘Cash Assets‘,
      className: ‘column-money‘,
      dataIndex: ‘money‘,
    },
    {
      title: ‘Address‘,
      dataIndex: ‘address‘,
    },
  ];

页面显示就结果如下:

4.表格如何树形展示数据:

<a-table
    :columns="columns"
    :dataSource="dataSource"
    childrenColumnName="qq"  // 这里可以选择子节点的属性名,一般都为‘children‘,这里我设置为‘qq‘,试下效果
    :rowSelection="rowSelection">  // rowSelection是列表可选择的时候的配置项,后面介绍
    <span slot="customTitle"><a-icon type="smile-o" /> Name</span>
    <span slot="action" slot-scope="text, record, index">
       <a @click="handleEdit(record.key)">编辑</a>
    </span>
</a-table>
const columns = [
    {
      dataIndex: ‘name‘,
      key: ‘name‘,
      align: ‘left‘,
      slots: { title: ‘customTitle‘}
    },
    {
      title: ‘操作‘,
      dataIndex: ‘action‘,
      width: ‘30%‘,
      scopedSlots: { customRender: ‘action‘ },
      align: ‘center‘
    }
  ]
  const dataSource = [
    {
      key: 1,
      name: ‘John Brown sr.‘,
      age: 60,
      address: ‘New York No. 1 Lake Park‘,
      qq: [            //这里我把子节点的key,改为qq了
        {
          key: 11,
          name: ‘John Brown‘,
          age: 42,
          address: ‘New York No. 2 Lake Park‘
        }
      ]
    },
    {
      key: 2,
      name: ‘Joe Black‘,
      age: 32,
      address: ‘Sidney No. 1 Lake Park‘
    }
  ]

页面显示效果如下:(显示正确)

原文地址:https://www.cnblogs.com/cirry/p/12459729.html

时间: 2024-08-03 00:31:33

Ant-Design-Vue中关于Table组件的使用(初级)的相关文章

Ant Design Pro 中的服务端交互

前端请求流程 在 Ant Design Pro 中,一个完整的前端 UI 交互到服务端处理流程是这样的: UI 组件交互操作: 调用 model 的 effect: 调用统一管理的 service 请求函数: 使用封装的 request.js 发送请求: 获取服务端返回: 然后调用 reducer 改变 state: 更新 model 统一的请求处理都放在 services 文件夹中,并且一般按照 model 维度进行拆分文件 services/ user.js api.js ... 其中,ut

ant design vue中点击编辑,表单数据的绑定

在一般的表单中,都是使用v-model来双向绑定数据,但是ant design vue中则会给予警告 1,获取数据: getNews({ params: { Id: i //传进来的id等值,具体看后端要什么 } }).then(res => { console.log(res) if (res.code == 0) { this.form.setFieldsValue({ title: res.data.title, introduce: res.data.introduce }) } })

实战 ant design pro 中的坑

1.前戏: 1,替换mock数据: 1.将:.roadhogrc.mock.js 中的代理模式替换 当不使用代理的时候就会将所有 /api/*的链接换成 http://localhost:8080/ export default noProxy ? {'GET /api/*':'http://localhost:8080/'} : delay(proxy, 1000); 2.启动: window:npm run start:no-proxy 其他系统没试 坑 1. what?这是什么鬼没设置ke

Element ui 中使用table组件实现分页记忆选中

我们再用vue和element-ui,或者其他的表格的时候,可能需要能记忆翻页勾选,那么实现以下几个方法就ok了 首先定义个data值 data () { return { multipleSelectionAll: [], // 所有选中的数据包含跨页数据 idKey: 'personId' // 标识列表数据中每一行的唯一键的名称(需要按自己的数据改一下) } } 方法中定义以下: methods : { // 设置选中的方法 setSelectRow() { if (!this.multi

vue中修改子组件样式

一.全局修改 1.在App.vue中设置,引入公共样式及个别页面的特殊样式common.css: 例如:<link rel="stylesheet" type="text/css" href="static/assets/css/common.css"> 下边的写法没用过参考链接中给的 <a href="http://home.cnblogs.com/u/134870/" target="_blan

vue中使用keepAlive组件缓存遇到的坑

项目开发中在用户由分类页category进入detail需保存用户状态,查阅了Vue官网后,发现vue2.0提供了一个keep-alive组件. 上一篇讲了keep-alive的基本用法,现在说说遇到的坑. 先说项目中的配置 在App.vue中的设置 在router中增加配置meta 上面这个设置后发现问题了,从category进入detail页后,状态被保存了,返回的时候保存了用户状态,达到了预期效果 但问题在于但从category返回到index后,再由index进入category时依然显

Vue中,父组件向子组件传值

1:在src/components/child/文件夹下,创建一个名为:child.vue的子组件 2:在父组件中,设置好需要传递的数据 3:在App.vue中引入并注册子组件 4:通过v-bind属性绑定并赋值给子组件 5:子组件通过 props 接收父组件传递过的数据 6:查看 7:总结: 子组件在props中创建一个属性,用以接收父组件传过来的值 父组件中注册子组件 在子组件标签中添加子组件props中创建的属性 把需要传给子组件的值赋给该属性 原文地址:https://www.cnblo

在vue中让某个组件重新渲染的笨方法

在vue中,推崇的是数据驱动也就是数据更新进而使组件得以重新渲染:在某些情况下,我们想要在数据不改变的情况下,重新渲染组件:我遇到的一个情况是:同一个页面,两个tab页分别为tab1和tab2,公用了一个组件,在tab1页修改了数据,再去tab2页查看的时候,发现tab1修改的数据会在tab2中的组件中显示,为了能够使得公用的组件重新渲染,可以使用v-if指令进行合理处理. 原文地址:https://www.cnblogs.com/llcdxh/p/9357661.html

vue中封装svg-icon组件并使用

vue中使用svg图片有很多便捷方式,在这里记录一下模仿参考的过程,仅做一标记,方便后续回来查找 附上参考地址:https://juejin.im/post/59bb864b5188257e7a427c09 1.使用vue-cli3.0脚手架运行搭建一个项目,地址 截图如下: 2.components文件下新建SvgIcon组件 文件中的代码: 原文地址:https://www.cnblogs.com/lhjfly/p/10756650.html

vue中的全局组件和局部组件的应用

1全局组件 vue框架: https://www.vue-js.com/?tab=all 组件树 solt 内置分发组件 应用见局部组件 2局部组件 2.1局部组件的使用:生子 - 挂子 - 用子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> &l