小程序表格渲染

小程序原生没有table组件,我实现了一个,用法和ant Design相同,但目前仅支持两个字段,后续有需要再完善

使用Taro开发小程序

component:

import React, { Component } from "react";
import "./index.scss";
import { View } from "@tarojs/components";

export default class Tabel extends Component {
  constructor(props) {
    super(props);
    this.state = {
      columns: this.props.columns.map((item) => item.key),
    };
    console.log(this.state);
  }
  getTargetItem(basedata, targetData) {
    return (
      
        {basedata[targetData]}
      
    );
  }
  render() {
    return (
      
        
          {this.props.columns.map((item) => (
            
              {item.title}
            
          ))}
        
        {this.props.dataSource.map((item) => {
          return (
            
              {this.state.columns.map((target) =>
                this.getTargetItem(item, target)
              )}
            
          );
        })}
      
    );
  }
}

index:

const dataSource = [
  {
    key: '1',
    name: '胡彦斌',
    age: 32,
    address: '西湖区湖底公园1号',
  },
  {
    key: '2',
    name: '胡彦祖',
    age: 42,
    address: '西湖区湖底公园1号',
  },
];
const columns = [
  {
    title: '姓名',
    dataIndex: 'name',
    key: 'name',
  },
  {
    title: '年龄',
    dataIndex: 'age',
    key: 'age',
  },
  {
    title: '住址',
    dataIndex: 'address',
    key: 'address',
  },
];

通过上述代码,可以初步实现渲染表格的逻辑,数据结构和ant Design完全相同。

  • 配置页面title:
    • 目录结构同级建立index.config.js:export default{navigationBarTitleText:'个人中心'}

你可能感兴趣的:(小程序表格渲染)