代码拉取完成,页面将自动刷新
[TOC]
npm i tacl-ui
使用
import {tool, toast, confirm, alert, loading, drag} from 'tacl-ui';
// 或
import TaclUI from 'tacl-ui';
// TaclUI = {tool, toast, confirm, alert, loading, drag}
// do something ...
<script src="https://cdn.jsdelivr.net/npm/tacl-ui/taclui.min.js"></script>
<!-- or -->
<!-- <script src="https://cdn.jsdelivr.net/npm/tacl-ui@x.x.x/taclui.min.js"></script> -->
<script>
<script>
TaclUI.toast('Hello world!')
</script>
暴露出 easy-dom 工具
弹出一个toast
// 简单调用
toast(text[, time, position]);
toast('一个提示')
// json调用
toast({
text: '一个提示',
// 其他参数
})
// new 方法 tacl中的所有组件默认都是一个实例,可以使用new方法创建新的实例
const close = toast.new(...);
参数列表
declare interface ToasterOpts {
text?: string;
time?: number;
position?: 'top'|'middle'|'bottom';
parent?: DomEle;
onhide?(): void;
onopen?(): void;
contentHtml?: boolean;
showClose?: boolean;
customClass?: string;
button?: { // 增加一个小按钮
text: string;
onclick(): void;
}
}
弹出一个confirm确认框
// 简单调用
confirm('是否确认')
confirm('是否确认','确认框')
// json调用
confirm({
text:'是否确认',
title:'确认框',
confirmText:'confirm',
cancelText:'cancel',
cancelBtn:false, // 是否需要取消按钮
theme:'default', //
}).then((result)=>{
if (result) {
} else {
}
})
// new
confirm.new(...).then((result)=>{})
参数列表
declare interface ConfirmerOpts {
text?:string;
title?:string;
confirmText?:string;
cancelText?:string;
cancelBtn?:boolean;
closeBtn?:boolean;
parent?: DomEle;
theme?: confirmStyle;
onhide?(): void;
onopen?(): void;
customEl?: DomEle;
customClass?: string;
contentHtml?: boolean; // default false
custom?(box: Ele, $: ToolStatic): void;
type?: confirmType; // default confirmType.confirm
onGetCloseMethod?(fn: void): void; // 获取关闭的函数 用户 new 创建新的弹出框的时候
clickConfirmClose?: boolean; // default true
clickCancelClose?: boolean; // default true
onconfirm?(): void;
oncancel?(): void;
}
枚举
declare type confirmResultType = 'confirm' | 'cancel' | 'close';
declare type confirmType = 'confirm' | 'alert' | 'pop';
declare type confirmStyle = 'yellow2' | 'yellow' | 'default';
弹出一个alert
// 简单调用
alert('成功')
alert('成功','成功标题')
// json调用
alert({
text:'成功',
title:'成功标题',
confirmText:'confirm',
theme:'default', //
}).then(()=>{
})
// new
alert.new(...).then((result)=>{})
参数列表
同 confirm
弹出一个弹出框
// 简单调用
pop('是否确认')
pop('是否确认','确认框')
// json调用
pop({
text:'是否确认',
title:'确认框',
confirmText:'confirm',
cancelText:'cancel',
cancelBtn:false, // 是否需要取消按钮
theme:'default', //
}).then((result)=>{
if (result) {
} else {
}
})
// new
pop.new(...).then((result)=>{})
参数列表
同 confirm
弹出一个loading
// 简单调用
loading(text[,time]);
loading();
loading('加载中...');
loading('加载中...', 1000);
loading.close(); // 手动关闭
// json调用
loading({
text:'成功',
time:1000
})
const close = loading.new(...);
参数列表
declare interface LoadingerOpts {
text?:string;
time?:number|null;
parent?: DomEle;
backgroundOpacity?: number;
onopen?(): void;
onhide?(): void;
}
生成一个可拖拽元素,兼容pc和移动端
let el = drag({
el,
parent,
enableDrag = true,
onClick = df,
onSideChange = df,
zIndex = 100,
aside = false,
preventDefault = true,
reinitPosition = false,
margin = 3, // 上右下左 或者只传入一个数字
})
参数列表
参数 | 是否必须 | 类型 | 默认值 | 说明 |
---|---|---|---|---|
el | 是 | dom/Ele/selector | -- | 需要拖拽的元素 |
parent | 否 | dom/Ele/selector | -- | 指定一个父元素,使得拖拽只能在父元素中进行,父元素需要设置position样式 |
enableDrag | 否 | boolean | true | 是否可拖拽 |
onClick | 否 | function | function(){} | 点击事件 |
aside | 否 | boolean | false | 是否吸附在两侧 |
onSideChange | 否 | function | function(isLeft){} | 只在aside=true时生效,当吸附侧改变时触发 |
zIndex | 否 | number | 100 | 拖拽元素的 z-index |
preventDefault | 否 | boolean | true | 是否禁止默认的事件行为 |
margin | 否 | number/Array[top,right/bottom/left] | 3 | 上下左右的边距 |
reinitPosition | 否 | boolean | false | 是否根据orientationchange 和 resize 事件来改变drag的位置,当drag为全屏时需要开启 |
declare interface DragParameters {
el: Ele|HTMLElement|string;
parent?: Ele|HTMLElement|string;
onClick?: (event: Event, endX: number, endY: number) => {};
onSideChange?: (isLeft:boolean) => {};
zIndex?: number;
enableDrag?:boolean;
delay?:number;
aside?:boolean;
preventDefault?:boolean;
reinitPosition?:boolean;
margin?:number|Array<number>;
onDragStart?: (event: Event, x: number, y: number) => {};
onDragMove?: (event: Event, x: number, y: number) => {};
onDragEnd?: (event: Event, x: number, y: number) => {};
}
declare class Drag {
constructor(parameters: DragParameters);
setPosition(left: number, top: number): void;
initPosition(): void;
getParentSize(): {width: number, height: number};
aside: boolean;
sideLeft: boolean;
enableDrag: boolean;
preventDefault: boolean;
left: number|string;
top: number|string;
margin: Array<number>;
}
备注:关于 preventDefault,preventDefault=true 可以在移动端禁止浏览器的拖拽导致页面移动,上方有空白 但是这个属性也会禁止掉子元素的点击事件,可以通过 onClick 事件中的 event 的target属性来规避 两种方式各有利弊
属性列表
preventDefault, enableDrag, aside
使用与参数列表一样,可以在生成之后可以动态修改属性
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。