| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <template>
- <cl-page>
- <view class="p-3">
- <demo-item :label="t('基础用法')">
- <cl-button @tap="openActionSheet">{{ t("打开") }}</cl-button>
- </demo-item>
- <demo-item :label="t('带图标')">
- <cl-button @tap="openActionSheet2">{{ t("打开") }}</cl-button>
- </demo-item>
- <demo-item :label="t('带标题、描述')">
- <cl-button @tap="openActionSheet3">{{ t("打开") }}</cl-button>
- </demo-item>
- <demo-item :label="t('无法点击遮罩关闭')">
- <cl-button @tap="openActionSheet4">{{ t("打开") }}</cl-button>
- </demo-item>
- <demo-item :label="t('不需要取消按钮')">
- <cl-button @tap="openActionSheet5">{{ t("打开") }}</cl-button>
- </demo-item>
- <demo-item :label="t('插槽用法')">
- <cl-button @tap="openActionSheet6">{{ t("打开") }}</cl-button>
- </demo-item>
- </view>
- <cl-action-sheet ref="actionSheetRef"> </cl-action-sheet>
- <cl-action-sheet ref="actionSheetRef2"> </cl-action-sheet>
- <cl-action-sheet ref="actionSheetRef3"> </cl-action-sheet>
- <cl-action-sheet ref="actionSheetRef4"> </cl-action-sheet>
- <cl-action-sheet ref="actionSheetRef5"> </cl-action-sheet>
- <cl-action-sheet
- ref="actionSheetRef6"
- :pt="{
- list: {
- className: 'flex-row mx-[-10rpx]'
- },
- item: {
- className: 'flex-1 mx-[10rpx] !rounded-xl'
- }
- }"
- >
- <template #prepend>
- <view class="px-3 mb-3">
- <cl-text>开通会员享受更多特权和服务,包括无广告体验、专属客服等</cl-text>
- </view>
- </template>
- <template #append>
- <view class="pb-5 pt-2 px-3 flex flex-row items-center">
- <cl-checkbox v-model="agree">请阅读并同意</cl-checkbox>
- <cl-text color="primary">《会员服务协议》</cl-text>
- </view>
- </template>
- <template #item="{ item }">
- <view class="flex flex-col justify-center items-center">
- <cl-icon :name="item.icon" :size="46"></cl-icon>
- <cl-text :pt="{ className: '!text-sm mt-1' }">{{ item.label }}</cl-text>
- </view>
- </template>
- </cl-action-sheet>
- </cl-page>
- </template>
- <script lang="ts" setup>
- import { t } from "@/locale";
- import DemoItem from "../components/item.uvue";
- import { ref } from "vue";
- import { useUi, type ClActionSheetOptions } from "@/uni_modules/cool-ui";
- const ui = useUi();
- const actionSheetRef = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet() {
- actionSheetRef.value!.open({
- list: [
- {
- label: t("反馈")
- }
- ]
- } as ClActionSheetOptions);
- }
- const actionSheetRef2 = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet2() {
- actionSheetRef.value!.open({
- list: [
- {
- label: t("反馈"),
- icon: "error-warning-line"
- }
- ]
- } as ClActionSheetOptions);
- }
- const actionSheetRef3 = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet3() {
- actionSheetRef.value!.open({
- title: t("提示"),
- description: t("删除好友会同时删除所有聊天记录"),
- list: [
- {
- label: t("删除好友"),
- color: "error",
- callback() {
- ui.showConfirm({
- title: t("提示"),
- message: t("确定要删除好友吗?"),
- callback(action) {
- if (action == "confirm") {
- ui.showToast({
- message: t("删除成功")
- });
- }
- actionSheetRef.value!.close();
- }
- });
- }
- }
- ]
- } as ClActionSheetOptions);
- }
- const actionSheetRef4 = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet4() {
- actionSheetRef.value!.open({
- maskClosable: false,
- description: t("无法点击遮罩关闭"),
- list: []
- } as ClActionSheetOptions);
- }
- const actionSheetRef5 = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet5() {
- actionSheetRef.value!.open({
- showCancel: false,
- list: [
- {
- label: t("点我关闭"),
- callback() {
- ui.showConfirm({
- title: t("提示"),
- message: t("确定要关闭吗?"),
- callback(action) {
- if (action == "confirm") {
- actionSheetRef.value!.close();
- }
- }
- });
- }
- }
- ]
- } as ClActionSheetOptions);
- }
- const agree = ref(false);
- const actionSheetRef6 = ref<ClActionSheetComponentPublicInstance | null>(null);
- function openActionSheet6() {
- function done() {
- if (!agree.value) {
- ui.showToast({
- message: "请阅读并同意《会员服务协议》"
- });
- return;
- }
- ui.showToast({
- message: t("支付成功")
- });
- agree.value = false;
- actionSheetRef6.value!.close();
- }
- actionSheetRef6.value!.open({
- showCancel: false,
- list: [
- {
- label: t("支付宝"),
- icon: "alipay-line",
- callback() {
- done();
- }
- },
- {
- label: t("微信"),
- icon: "wechat-line",
- callback() {
- done();
- }
- }
- ]
- } as ClActionSheetOptions);
- }
- </script>
|