小程序表格渲染

小程序原生没有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 (
      <View key={targetData} className="table-td">
        {basedata[targetData]}
      </View>
    );
  }
  render() {
    return (
      <View className="table">
        <View className="table-tr">
          {this.props.columns.map((item) => (
            <View key={item.title} className="table-th">
              {item.title}
            </View>
          ))}
        </View>
        {this.props.dataSource.map((item) => {
          return (
            <View key={item.key} className="table-tr">
              {this.state.columns.map((target) =>
                this.getTargetItem(item, target)
              )}
            </View>
          );
        })}
      </View>
    );
  }
}

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',
  },
];
<Tabel dataSource={this.state.dataSource} columns={this.state.columns} />

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

  • 配置页面title:
    • 目录结构同级建立index.config.js:export default{navigationBarTitleText:'个人中心'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值