当前位置: 首页> 汽车> 报价 > b2b网站网址导航_大连企业查询_怎样淘宝seo排名优化_石家庄关键词优化软件

b2b网站网址导航_大连企业查询_怎样淘宝seo排名优化_石家庄关键词优化软件

时间:2025/7/23 14:35:39来源:https://blog.csdn.net/xulihua_75/article/details/147241230 浏览次数: 0次
b2b网站网址导航_大连企业查询_怎样淘宝seo排名优化_石家庄关键词优化软件

展示图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码

<template><view class="container"><!-- 列表项 --><view v-for="item in listData" :key="item.id" class="list-item" @click="toggleSelection(item.id)"><text>{{ item.name }}</text><text class="checkbox">{{ item.checked ? '✓' : '✗' }}</text></view><!-- 全选按钮 --><view class="select-all" @click="toggleAllSelection"><text>{{ isAllChecked ? '取消全选' : '全选' }}</text></view></view>
</template><script setup>import {reactive,computed} from 'vue';// 响应式列表数据const listData = reactive([{id: 1,name: '选项1',checked: false},{id: 2,name: '选项2',checked: false},{id: 3,name: '选项3',checked: false},]);// 计算属性判断是否全选const isAllChecked = computed(() =>listData.every(item => item.checked));// 切换单个选项状态const toggleSelection = (id) => {const item = listData.find(item => item.id === id);if (item) item.checked = !item.checked;};// 切换全选状态const toggleAllSelection = () => {const newValue = !isAllChecked.value;listData.forEach(item => item.checked = newValue);};
</script><style>.container {padding: 20rpx;}.list-item {display: flex;justify-content: space-between;padding: 20rpx;border-bottom: 1rpx solid #eee;}.checkbox {color: #007AFF;margin-left: 20rpx;}.select-all {margin-top: 40rpx;padding: 30rpx;background: #f0f0f0;text-align: center;border-radius: 10rpx;}
</style>

点击提交按钮,打印所选内容

<template><view class="container"><!-- 列表项(原有代码保持不变) --><view v-for="item in listData" :key="item.id" class="list-item"@click="toggleSelection(item.id)"><text>{{ item.name }}</text><text class="checkbox">{{ item.checked ? '✓' : '✗' }}</text></view><!-- 操作区域 --><view class="action-area"><!-- 全选按钮(原有代码保持不变) --><view class="select-all" @click="toggleAllSelection"><text>{{ isAllChecked ? '取消全选' : '全选' }}</text></view><!-- 新增提交按钮 --><view class="submit-btn" @click="submitSelected"><text>提交选中项</text></view></view></view>
</template><script setup>
// 原有导入保持不变
import { reactive, computed } from 'vue';// 响应式数据(原有数据保持不变)
const listData = reactive([{ id: 1, name: '选项1', checked: false },{ id: 2, name: '选项2', checked: false },{ id: 3, name: '选项3', checked: false },
]);// 计算属性(原有计算属性保持不变)
const isAllChecked = computed(() => listData.every(item => item.checked)
);// 原有方法保持不变
const toggleSelection = (id) => {const item = listData.find(item => item.id === id);if (item) item.checked = !item.checked;
};const toggleAllSelection = () => {const newValue = !isAllChecked.value;listData.forEach(item => item.checked = newValue);
};// 新增提交方法
const submitSelected = () => {// 获取选中项const selectedItems = listData.filter(item => item.checked).map(({ id, name }) => ({ id, name }));// 打印到控制台console.log('当前选中项:', selectedItems);// 如果需要显示提示(可选)uni.showToast({title: `已提交${selectedItems.length}`,icon: 'none'});
};
</script><style>
/* 原有样式保持不变 */
.container {padding: 20rpx;
}.list-item {display: flex;justify-content: space-between;padding: 20rpx;border-bottom: 1rpx solid #eee;
}.checkbox {color: #007AFF;margin-left: 20rpx;
}/* 新增操作区域样式 */
.action-area {margin-top: 40rpx;display: flex;gap: 20rpx;
}.select-all,
.submit-btn {flex: 1;padding: 30rpx;background: #f0f0f0;text-align: center;border-radius: 10rpx;
}/* 提交按钮特殊样式 */
.submit-btn {background: #007AFF;color: white;
}
</style>
关键字:b2b网站网址导航_大连企业查询_怎样淘宝seo排名优化_石家庄关键词优化软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: