feat(components): 新增分页、选择器和标签栏组件并优化插件页面
- 添加 pagination-plugin 组件,包含完整的分页功能和页面跳转选择 - 添加 select-plugin 组件,支持单选和多选模式的选择弹窗 - 添加 tab-bar-plugin 组件,提供底部导航栏功能 - 在 page-plugin 中集成 t-loading 组件替换原有的加载逻辑 - 移除页面中的登录状态监听逻辑和相关订阅功能 - 修改页面样式传递方式,将 style 属性改为 customStyle - 更新组件依赖配置文件,添加新的组件引用
This commit is contained in:
64
miniprogram/pages/components/select-plugin/select-plugin.ts
Normal file
64
miniprogram/pages/components/select-plugin/select-plugin.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
Component({
|
||||
options: { multipleSlots: true },
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
mode: {
|
||||
type: String,
|
||||
value: "single",
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
value: "请选择",
|
||||
},
|
||||
options: {
|
||||
type: Array,
|
||||
value: [],
|
||||
},
|
||||
value: {
|
||||
type: null,
|
||||
value: [],
|
||||
},
|
||||
},
|
||||
observers: {
|
||||
"value,mode": function (v, m) {
|
||||
if (m == "multiple") {
|
||||
this.setData({ val: Array.isArray(v) ? [...v] : [] });
|
||||
} else {
|
||||
this.setData({ val: v });
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
visible: false,
|
||||
val: [] as any[] | string | number,
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
click() {
|
||||
this.setData({ visible: true });
|
||||
},
|
||||
close() {
|
||||
this.setData({ visible: false });
|
||||
},
|
||||
radioChange(e: any) {
|
||||
this.setData({ val: e.detail.value });
|
||||
},
|
||||
checkboxChange(e: any) {
|
||||
this.setData({ val: e.detail.value });
|
||||
},
|
||||
ok() {
|
||||
this.setData({ visible: false });
|
||||
this.triggerEvent("change", { value: this.data.val });
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user