- 首先安装 Taro.js 和 NutUI:
```
npm install -g @tarojs/cli
npm install taro-ui
```
- 创建 Taro 项目并进入项目目录:
```
taro init myapp
cd myapp
```
- 选用 Taro 模板一并安装依赖:
```
npm install
```
- 在页面目录中创建商品选择页:
```
taro create --name goods --type page
```
- 在 `goods.jsx`中导入并使用 Taro-ui 组件库相关的组件:
```jsx
import Taro, { useState } from "@tarojs/taro";
import { View, Text, Image, Button, Checkbox, CheckboxGroup } from "@tarojs/components";
import { AtInputNumber, AtDivider, AtButton } from "taro-ui";
// 这里假设我们有两个规格参数,分别是颜色和尺码,定义一个数组
const skuList = [
{
id: 1,
spec: ['红色', 'L'],
price: 100,
},
{
id: 2,
spec: ['红色', 'M'],
price: 98,
},
{
id: 3,
spec: ['蓝色', 'L'],
price: 99,
},
{
id: 4,
spec: ['蓝色', 'M'],
price: 97,
},
];
export default function Goods() {
// 存储当前选择的规格,初始为空
const [spec, setSpec] = useState([]);
// 存储当前选择的数量,初始为1
const [num, setNum] = useState(1);
return (
<View>
{/* 商品信息 */}
<View>
<Image src="https://placehold.it/100" />
<Text>商品名称</Text>
<Text>商品价格</Text>
</View>
<AtDivider />
{/* 规格选择 */}
<View>
<Text>选择: {spec.join('-')}</Text>
<View>选择颜色</View>
<CheckboxGroup onChange={value => setSpec(value)}>
{
...new Set(skuList.map(i =\> i.spec\[0\]))\].map((color, index) =\>
\