历史的发展,小程序风行一时,安卓/ios/H5/微信小程序/支付宝小程序/头条小程序,产品经理让你适配这么多,你的心情如何呢?然而总会有人给咱们造出合适的工具,解放生产力,一次编码,多端运行。开始探索之旅吧!
taro安装
安装 Taro 开发工具 @tarojs/cli
使用 npm 或者 yarn 全局安装,或者直接使用npx
1 | $ npm install -g @tarojs/cli |
使用命令创建模版
1 | $ taro init multiportApp |
按照自己情况选择安装即可
启动
进入对应目录,执行命令启动。
1 | npm run dev:h5 |
会出现启动成功的界面,如下
自动就会打开浏览器,出现hello world界面,表示项目启动成功了!
todolist功能实现
添加数据
在pages/index/index.js文件中添加如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20constructor(props){
super(props);
this.state={
val:'',
todos:[
{
title:'吃饭',
done:false
},
{
title:'睡觉',
done:false
},
{
title:'coding',
done:false
}
]
}
}
渲染数据
1 | render () { |
列表渲染搞定。
添加输入框和按钮
引入组件1
import { View, Text,Input,Button } from '@tarojs/components'
render修改
1 | render () { |
添加方法
1 | handleInput=(e)=>{ |
一个简单的todolist就算完成了,界面有点丑,继续优化!
优化,引入UI库
安装taro-ui
官网1
npm install --save taro-ui
简单配置
由于引用 node_modules
的模块,默认不会编译,所以需要额外给 H5 配置 esnextModules
,在 taro 项目的 config/index.js
中新增如下配置项:
1 | h5: { |
全局引入
在app.scss中引入
1 | @import 'taro-ui/dist/style/index.scss' |
在index.js中引入
1 | import { AtList, AtListItem } from "taro-ui" |
修改render
1 | render () { |
添加滑块开关,改变item状态
1 | <AtListItem key={index} title={item.title} className={{'done':item.done}} isSwitch switchIsCheck={item.done} onSwitchChange={(e)=>this.handleChange(e,index)}></AtListItem> |
增加一个isSwitch,switch切换事件,class。
增加事件
1 | handleChange=(e,i)=>{ |
在同级目录下index.scss中增加样式
1 | .done{ |
效果
h5效果
微信小程序中的效果
这就是这个框架的威力,感谢taro开发团队。)
最后在说一句,正在找工作,坐标北京,各位大佬有合适的机会推荐下哈!