taro微信小程序实现table

微信小程序没有table组件,taro也没有,使用起来很不方便,简单的自己封装了一个。

js代码 atTable.jsx

// 自己简单封装的表格组件,taro 和微信都没有table组件
import { Component } from 'react'
import { View} from '@tarojs/components'
import './AtTable.scss'

//需要传进来的数据示例
const exampledataSource = [
    {
        username: '小红',
        count: '123',
        gb:'321',
        dbd:'30%'
    }
]
//需要传进来的表头数据示例
const examplecolumns = [
    {
        title: '名称',
        dataIndex: 'username',
        width:'20%',
    },
    {
        title: '含量',
        dataIndex: 'count',
        width:'20%',
    },
    {
        title: '标准',
        dataIndex: 'gb',
        width:'40%',
    },
    {
        title: '达标度',
        dataIndex: 'dbd',
        width:'20%',
    },
]

//原理 循环生成表头,循环数据根据表头填入每一列
export default class AtTable extends Component {

    render () {
        return (
            <View className="table">
                <View className="tr bg-header">
                    {
                        this.props.columns.map((item,index)=>{
                            return (<View className="th" style={{ width:item.width}}>
                                    {item.title}
                                    </View>)
                        })
                    }
                </View>
                
                    {
                        this.props.dataSource.map((item,index)=>{
                            return (
                                    <View className="tr bg-line">
                                    {
                                        this.props.columns.map((item2,index2)=>{
                                            if(item2.render){
                                                return (
                                                    <View className="td" style={{ width:item2.width}}>
                                                        {  
                                                            item2.render(item[item2.dataIndex])  //判断表头是不是有render 有就执行render
                                                        }
                                                    </View>
                                                )
                                            }
                                            else {
                                                return (     
                                                    <View className="td" style={{ width:item2.width}}>
                                                        {  
                                                            item[item2.dataIndex]  //根据表头填数据
                                                        }
                                                    </View>
                                                )
                                            }
                                        }
                                        )
                                    }
                                    </View>
                                    )
                        })
                    }
                </View>                

        )
    }
}

css代码 aTable.scss


.table {
    border: 0px solid darkgray;
    border-radius:5px;
    font-size: 22rpx;
    color: #333;
    }
    
    .tr {
    display: flex;
    width: 100%;
    justify-content: center;
    height: 50px;
    align-items: center;
    border-bottom: 1px solid #F7F7F7;
    }

    .td {
        justify-content: center;
        text-align: center;
        border-right: 1px solid #F7F7F7;
        border-left: 1px solid #F7F7F7;
        align-items: center;
        display: flex;
        }
    
    
    .bg-line{
    background: #FFF;
    }
    
    .bg-header {
    justify-content: center;
    background:#ffd6414b;;
    color: #333;
    display: flex;
    height: 50px;
    align-items: center;
    text-align: center;
    }
    .aaa{
        background-color: #30cc00;
    }

调用方法

<AtTable dataSource={this.props.baseData_choose} columns={this.columns_choose}/>  

效果演示

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现taro微信小程序登录,你需要做以下几步: 1.在微信公众平台注册小程序并获取小程序AppID。 2.在小程序中使用微信登录授权组件,用户点击授权按钮后,获取到用户的授权信息,包括用户的openid和session_key。 3.将用户的openid和session_key发送给后端服务器进行验证。后端服务器可以使用微信提供的接口校验用户信息是否正确,同时可以自己进行逻辑处理,例如将用户信息存储到数据库中,生成token等。 4.后端服务器返回校验结果给小程序小程序根据结果进行相应的处理,例如跳转到主页或者提示用户登录失败等。 需要注意的是,用户的openid和session_key是敏感信息,需要加密传输和存储,以保证用户信息的安全性。 ### 回答2: taro是一种开发工具,用于创建小程序,而微信小程序是一种在微信平台上运行的应用程序。要在taro实现微信小程序的登录功能,可以按照以下步骤进行操作。 首先,在小程序的app.js文件中引入taro框架和相关组件,然后在页面页面代码中引入taro的按钮组件,用于触发登录事件。 然后,在小程序的配置文件app.json中配置登录所需的权限,例如获取用户信息的权限等。 接下来,在小程序的登录页面中,可以使用taro提供的登录API,调用微信的登录接口,获取到用户的临时登录凭证code。 然后,将code发送给后端服务器,并使用code调用微信提供的接口,获取到用户的唯一标识openid和用户的会话秘钥sessionKey。 在获取到用户的openid后,可以根据业务需求将用户的信息存储到数据库中,或者进行进一步的用户信息获取和个性化设置。 最后,在小程序中进行用户登录状态的管理,可以使用taro的状态管理工具,在登录成功后将用户的登录状态设置为已登录,并在需要验证登录状态的页面中进行判断。 总之,通过在taro框架下对微信小程序登录流程进行处理,可以实现用户登录和身份验证功能,为用户提供更便捷、安全的使用体验。 ### 回答3: taro是一种多端开发框架,可以用于开发微信小程序。使用taro开发微信小程序登录功能的具体步骤如下: 1. 首先,在taro项目中创建一个登录页面,可以使用taro提供的组件进行布局和样式设置。 2. 在登录页面的按钮事件中,调用微信小程序提供的wx.login()方法,获取用户的登录凭证code。 3. 将获取到的code发送至后台服务器,后台服务器可以通过code向微信服务器发送请求,获取用户唯一标识的openid和会话密钥session_key。 4. 后台服务器可以保存用户openid和session_key,在后续请求中使用。 5. 用户登录成功后,可以将openid通过wx.setStorage()方法保存在微信小程序本地缓存中,用于后续判断用户是否已登录。 6. 在其他页面中,可以通过wx.getStorage()方法获取保存在本地缓存中的openid,判断用户是否已登录。 7. 登录成功后,可以根据业务需求进行相应的页面跳转或数据展示。 需要注意的是,在开发过程中需要将taro编译成微信小程序的语法,可以使用taro的命令行工具进行编译。另外,用户的敏感信息(如openid、session_key等)需要进行合理的保护和加密,以确保用户信息的安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值