Skip to content

Commit

Permalink
feat: addresslist, barrage, card, category, comment, ecard, invoice, …
Browse files Browse the repository at this point in the history
…timeselect
  • Loading branch information
yang1206 committed Jul 1, 2023
1 parent 2cb9e78 commit a7d1b61
Show file tree
Hide file tree
Showing 90 changed files with 7,694 additions and 33 deletions.
2 changes: 1 addition & 1 deletion example/package.json
Expand Up @@ -80,6 +80,6 @@
"unocss-applet": "^0.5.3",
"unplugin-auto-import": "^0.16.4",
"vite": "4.3.9",
"vue-tsc": "^1.8.1"
"vue-tsc": "^1.8.3"
}
}
70 changes: 70 additions & 0 deletions example/src/components.d.ts
Expand Up @@ -10,33 +10,103 @@ export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
DemoHeader: typeof import('./components/DemoHeader.vue')['default']
NutActionSheet: typeof import('uniapp-nutui/components/actionsheet/actionsheet.vue')['default']
NutAddress: typeof import('uniapp-nutui/components/address/address.vue')['default']
NutAddressList: typeof import('uniapp-nutui/components/addresslist/addresslist.vue')['default']
NutAnimate: typeof import('uniapp-nutui/components/animate/animate.vue')['default']
NutAvatar: typeof import('uniapp-nutui/components/avatar/avatar.vue')['default']
NutAvatarGroup: typeof import('uniapp-nutui/components/avatargroup/avatargroup.vue')['default']
NutBacktop: typeof import('uniapp-nutui/components/backtop/backtop.vue')['default']
NutBadge: typeof import('uniapp-nutui/components/badge/badge.vue')['default']
NutBarrage: typeof import('uniapp-nutui/components/barrage/barrage.vue')['default']
NutButton: typeof import('uniapp-nutui/components/button/button.vue')['default']
NutCalendar: typeof import('uniapp-nutui/components/calendar/calendar.vue')['default']
NutCard: typeof import('uniapp-nutui/components/card/card.vue')['default']
NutCascader: typeof import('uniapp-nutui/components/cascader/cascader.vue')['default']
NutCategory: typeof import('uniapp-nutui/components/category/category.vue')['default']
NutCategoryPane: typeof import('uniapp-nutui/components/categorypane/categorypane.vue')['default']
NutCell: typeof import('uniapp-nutui/components/cell/cell.vue')['default']
NutCellGroup: typeof import('uniapp-nutui/components/cellgroup/cellgroup.vue')['default']
NutCheckbox: typeof import('uniapp-nutui/components/checkbox/checkbox.vue')['default']
NutCheckboxGroup: typeof import('uniapp-nutui/components/checkboxgroup/checkboxgroup.vue')['default']
NutCircleProgress: typeof import('uniapp-nutui/components/circleprogress/circleprogress.vue')['default']
NutCol: typeof import('uniapp-nutui/components/col/col.vue')['default']
NutCollapse: typeof import('uniapp-nutui/components/collapse/collapse.vue')['default']
NutCollapseItem: typeof import('uniapp-nutui/components/collapseitem/collapseitem.vue')['default']
NutComment: typeof import('uniapp-nutui/components/comment/comment.vue')['default']
NutConfigProvider: typeof import('uniapp-nutui/components/configprovider/configprovider.vue')['default']
NutCountdown: typeof import('uniapp-nutui/components/countdown/countdown.vue')['default']
NutCountup: typeof import('uniapp-nutui/components/countup/countup.vue')['default']
NutDatePicker: typeof import('uniapp-nutui/components/datepicker/datepicker.vue')['default']
NutDialog: typeof import('uniapp-nutui/components/dialog/dialog.vue')['default']
NutDivider: typeof import('uniapp-nutui/components/divider/divider.vue')['default']
NutDrag: typeof import('uniapp-nutui/components/drag/drag.vue')['default']
NutEcard: typeof import('uniapp-nutui/components/ecard/ecard.vue')['default']
NutElevator: typeof import('uniapp-nutui/components/elevator/elevator.vue')['default']
NutEllipsis: typeof import('uniapp-nutui/components/ellipsis/ellipsis.vue')['default']
NutEmpty: typeof import('uniapp-nutui/components/empty/empty.vue')['default']
NutFixedNav: typeof import('uniapp-nutui/components/fixednav/fixednav.vue')['default']
NutForm: typeof import('uniapp-nutui/components/form/form.vue')['default']
NutFormItem: typeof import('uniapp-nutui/components/formitem/formitem.vue')['default']
NutGrid: typeof import('uniapp-nutui/components/grid/grid.vue')['default']
NutGridItem: typeof import('uniapp-nutui/components/griditem/griditem.vue')['default']
NutIcon: typeof import('uniapp-nutui/components/icon/icon.vue')['default']
NutImagePreview: typeof import('uniapp-nutui/components/imagepreview/imagepreview.vue')['default']
NutIndicator: typeof import('uniapp-nutui/components/indicator/indicator.vue')['default']
NutInfiniteloading: typeof import('uniapp-nutui/components/infiniteloading/infiniteloading.vue')['default']
NutInput: typeof import('uniapp-nutui/components/input/input.vue')['default']
NutInputNumber: typeof import('uniapp-nutui/components/inputnumber/inputnumber.vue')['default']
NutInvoice: typeof import('uniapp-nutui/components/invoice/invoice.vue')['default']
NutList: typeof import('uniapp-nutui/components/list/list.vue')['default']
NutMenu: typeof import('uniapp-nutui/components/menu/menu.vue')['default']
NutMenuItem: typeof import('uniapp-nutui/components/menuitem/menuitem.vue')['default']
NutNavbar: typeof import('uniapp-nutui/components/navbar/navbar.vue')['default']
NutNoticebar: typeof import('uniapp-nutui/components/noticebar/noticebar.vue')['default']
NutNotify: typeof import('uniapp-nutui/components/notify/notify.vue')['default']
NutNumberKeyboard: typeof import('uniapp-nutui/components/numberkeyboard/numberkeyboard.vue')['default']
NutOverlay: typeof import('uniapp-nutui/components/overlay/overlay.vue')['default']
NutPagination: typeof import('uniapp-nutui/components/pagination/pagination.vue')['default']
NutPicker: typeof import('uniapp-nutui/components/picker/picker.vue')['default']
NutPopover: typeof import('uniapp-nutui/components/popover/popover.vue')['default']
NutPopup: typeof import('uniapp-nutui/components/popup/popup.vue')['default']
NutPrice: typeof import('uniapp-nutui/components/price/price.vue')['default']
NutProgress: typeof import('uniapp-nutui/components/progress/progress.vue')['default']
NutRadio: typeof import('uniapp-nutui/components/radio/radio.vue')['default']
NutRadioGroup: typeof import('uniapp-nutui/components/radiogroup/radiogroup.vue')['default']
NutRange: typeof import('uniapp-nutui/components/range/range.vue')['default']
NutRate: typeof import('uniapp-nutui/components/rate/rate.vue')['default']
NutRow: typeof import('uniapp-nutui/components/row/row.vue')['default']
NutSearchbar: typeof import('uniapp-nutui/components/searchbar/searchbar.vue')['default']
NutShortPassword: typeof import('uniapp-nutui/components/shortpassword/shortpassword.vue')['default']
NutSideNavbar: typeof import('uniapp-nutui/components/sidenavbar/sidenavbar.vue')['default']
NutSideNavbarItem: typeof import('uniapp-nutui/components/sidenavbaritem/sidenavbaritem.vue')['default']
NutSignature: typeof import('uniapp-nutui/components/signature/signature.vue')['default']
NutSkeleton: typeof import('uniapp-nutui/components/skeleton/skeleton.vue')['default']
NutSku: typeof import('uniapp-nutui/components/sku/sku.vue')['default']
NutStep: typeof import('uniapp-nutui/components/step/step.vue')['default']
NutSteps: typeof import('uniapp-nutui/components/steps/steps.vue')['default']
NutSticky: typeof import('uniapp-nutui/components/sticky/sticky.vue')['default']
NutSubSideNavbar: typeof import('uniapp-nutui/components/subsidenavbar/subsidenavbar.vue')['default']
NutSwipe: typeof import('uniapp-nutui/components/swipe/swipe.vue')['default']
NutSwiper: typeof import('uniapp-nutui/components/swiper/swiper.vue')['default']
NutSwiperItem: typeof import('uniapp-nutui/components/swiperitem/swiperitem.vue')['default']
NutSwitch: typeof import('uniapp-nutui/components/switch/switch.vue')['default']
NutTabbar: typeof import('uniapp-nutui/components/tabbar/tabbar.vue')['default']
NutTabbarItem: typeof import('uniapp-nutui/components/tabbaritem/tabbaritem.vue')['default']
NutTable: typeof import('uniapp-nutui/components/table/table.vue')['default']
NutTabPane: typeof import('uniapp-nutui/components/tabpane/tabpane.vue')['default']
NutTabs: typeof import('uniapp-nutui/components/tabs/tabs.vue')['default']
NutTag: typeof import('uniapp-nutui/components/tag/tag.vue')['default']
NutTextarea: typeof import('uniapp-nutui/components/textarea/textarea.vue')['default']
NutTimeDetail: typeof import('uniapp-nutui/components/timedetail/timedetail.vue')['default']
NutTimePannel: typeof import('uniapp-nutui/components/timepannel/timepannel.vue')['default']
NutTimeSelect: typeof import('uniapp-nutui/components/timeselect/timeselect.vue')['default']
NutToast: typeof import('uniapp-nutui/components/toast/toast.vue')['default']
NutTour: typeof import('uniapp-nutui/components/tour/tour.vue')['default']
NutTransition: typeof import('uniapp-nutui/components/transition/transition.vue')['default']
NutTrendArrow: typeof import('uniapp-nutui/components/trendarrow/trendarrow.vue')['default']
NutUploader: typeof import('uniapp-nutui/components/uploader/uploader.vue')['default']
NutWatermark: typeof import('uniapp-nutui/components/watermark/watermark.vue')['default']
ThemeSwitch: typeof import('./components/ThemeSwitch.vue')['default']
}
}
112 changes: 112 additions & 0 deletions example/src/demo/business/addresslist/index.vue
@@ -0,0 +1,112 @@
<script lang="ts">
import { reactive, ref } from 'vue'
/* eslint-disable no-console */
export default {
setup() {
const data = ref([
{
testid: 3,
testaddressName: '姓名',
phone: '123****4567',
defaultAddress: false,
fullAddress: '北京市通州区测试测试测试测试测试测试测试测试测试',
},
{
testid: 4,
testaddressName: '姓名',
phone: '123****4567',
defaultAddress: true,
fullAddress: '北京市通州区测试测试测试测试测试测试测试测试测试',
},
])
const dataOptions = reactive({
id: 'testid',
addressDetail: 'testaddressDetail',
addressName: 'testaddressName',
})
const clickItem = () => {
console.log('Click To Address')
}
const delClick = () => {
console.log('Click To Delete')
}
const editClick = () => {
console.log('Click To Edit')
}
const copyClick = () => {
console.log('Click To Copy')
}
const setClick = () => {
console.log('Click On Settings')
}
const delClickLong = () => {
console.log('Click On DelClickLong')
}
const delClickSwipe = () => {
console.log('Click On DelClickSwipe')
}
const addAddress = () => {
console.log('Click To Add')
}
return {
clickItem,
data,
delClick,
editClick,
copyClick,
setClick,
delClickLong,
delClickSwipe,
addAddress,
dataOptions,
}
},
}
</script>

<template>
<div class="demo full">
<h2 class="title">
基础用法
</h2>
<nut-address-list
:data="data"
:show-bottom-button="false"
:options="dataOptions"
@del-icon="delClick"
@edit-icon="editClick"
@click-item="clickItem"
/>
<h2 class="title">
长按功能
</h2>
<nut-address-list
:data="data"
long-press
:show-bottom-button="false"
:options="dataOptions"
@del-icon="delClick"
@edit-icon="editClick"
@click-item="clickItem"
@long-copy="copyClick"
@long-set="setClick"
@long-del="delClickLong"
/>
<h2 class="title">
滑动功能
</h2>
<nut-address-list
:data="data"
swipe-edition
show-bottom-button
:options="dataOptions"
@del-icon="delClick"
@edit-icon="editClick"
@click-item="clickItem"
@swipe-del="delClickSwipe"
@add="addAddress"
/>
</div>
</template>
50 changes: 50 additions & 0 deletions example/src/demo/business/barrage/index.vue
@@ -0,0 +1,50 @@
<script lang="ts">
import { ref } from 'vue'
export default {
setup() {
const inputVal = ref<any>('')
const danmu = ref<any>(null)
const list = ref(['画美不看', '不明觉厉', '喜大普奔', '男默女泪', '累觉不爱', '爷青结'])
function addDanmu() {
const n = Math.random()
danmu.value.add(`随机——${String(n).substr(2, 10)}`)
}
return {
inputVal,
danmu,
list,
addDanmu,
}
},
}
</script>

<template>
<div class="demo barrage-demo">
<h2 class="title">
基础用法
</h2>
<nut-cell custom-class="danmu-box">
<nut-barrage ref="danmu" :danmu="list" />
</nut-cell>
<div class="test">
<nut-button custom-class="add nut-button--primary" @click="addDanmu">
随机添加
</nut-button>
</div>
</div>
</template>

<style lang="scss">
.barrage-demo {
.danmu-box,
.nut-barrage {
padding: 20px 0;
height: 150px;
}
.nut-button {
width: 100%;
}
}
</style>

0 comments on commit a7d1b61

Please sign in to comment.