| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <template>
- <cl-page>
- <view class="p-3">
- <demo-item :label="t('基础用法')">
- <cl-input></cl-input>
- </demo-item>
- <demo-item :label="t('数字输入')">
- <cl-input type="number"></cl-input>
- </demo-item>
- <demo-item :label="t('密码输入')">
- <cl-input password></cl-input>
- </demo-item>
- <demo-item :label="t('可清除')">
- <cl-input clearable :pt="{ className: 'mb-2' }"></cl-input>
- <demo-tips>设置 hold-keyboard 属性后,清除内容时输入框将保持聚焦状态</demo-tips>
- <cl-input clearable hold-keyboard></cl-input>
- </demo-item>
- <demo-item :label="t('左右插槽')">
- <cl-input
- :pt="{
- className: '!pr-1 mb-2'
- }"
- >
- <template #append>
- <cl-button
- type="primary"
- size="small"
- icon="send-plane-fill"
- :pt="{
- className: 'ml-2'
- }"
- @tap="toAlert"
- ></cl-button>
- </template>
- </cl-input>
- <cl-input
- :pt="{
- className: '!pl-1'
- }"
- >
- <template #prepend>
- <cl-button
- type="primary"
- size="small"
- icon="search-line"
- :pt="{
- className: 'mr-2'
- }"
- @tap="toAlert"
- ></cl-button>
- </template>
- </cl-input>
- </demo-item>
- <demo-item :label="t('自定义')">
- <cl-input
- v-model="content"
- :border="isBorder"
- :suffix-icon="isRightIcon ? 'text' : ''"
- :prefix-icon="isLeftIcon ? 'search-line' : ''"
- :disabled="isDisabled"
- :pt="{
- className: parseClass({
- '!bg-sky-100': isColor,
- '!border-sky-700': isColor
- }),
- inner: {
- className: parseClass({
- '!text-sky-700': isColor
- })
- },
- prefixIcon: {
- className: parseClass({
- '!text-sky-700': isColor
- })
- }
- }"
- ></cl-input>
- <cl-list border :pt="{ className: 'mt-5' }">
- <cl-list-item :label="t('边框')">
- <cl-switch v-model="isBorder"></cl-switch>
- </cl-list-item>
- <cl-list-item :label="t('左图标')">
- <cl-switch v-model="isLeftIcon"></cl-switch>
- </cl-list-item>
- <cl-list-item :label="t('右图标')">
- <cl-switch v-model="isRightIcon"></cl-switch>
- </cl-list-item>
- <cl-list-item :label="t('禁用')">
- <cl-switch v-model="isDisabled"></cl-switch>
- </cl-list-item>
- <cl-list-item :label="t('其他颜色')">
- <cl-switch v-model="isColor"></cl-switch>
- </cl-list-item>
- </cl-list>
- </demo-item>
- </view>
- </cl-page>
- </template>
- <script lang="ts" setup>
- import { ref } from "vue";
- import DemoItem from "../components/item.uvue";
- import DemoTips from "../components/tips.uvue";
- import { parseClass } from "@/cool";
- import { useUi } from "@/uni_modules/cool-ui";
- import { t } from "@/locale";
- const ui = useUi();
- const content = ref("Cool Unix");
- const isBorder = ref(true);
- const isLeftIcon = ref(true);
- const isRightIcon = ref(false);
- const isDisabled = ref(false);
- const isColor = ref(false);
- function toAlert() {
- ui.showToast({
- message: "Hello"
- });
- }
- </script>
|