refactor: use setup refactor

This commit is contained in:
xiaoxian521
2021-09-19 01:12:46 +08:00
parent 85f4917f26
commit afff1d677b
18 changed files with 128 additions and 106 deletions

View File

@@ -1,5 +1,4 @@
import type { CSSProperties } from "vue";
import {
defineComponent,
onBeforeMount,
@@ -40,46 +39,48 @@ const defaultOptions: Cropper.Options = {
rotatable: true
};
export default defineComponent({
name: "Cropper",
props: {
src: {
type: String,
required: true
},
alt: {
type: String
},
width: {
type: [String, Number],
default: ""
},
height: {
type: [String, Number],
default: "360px"
},
crossorigin: {
type: String || Object,
default: undefined
},
imageStyle: {
type: Object as PropType<CSSProperties>,
default() {
return {};
}
},
options: {
type: Object as PropType<Options>,
default() {
return {};
}
const props = {
src: {
type: String,
required: true
},
alt: {
type: String
},
width: {
type: [String, Number],
default: ""
},
height: {
type: [String, Number],
default: "360px"
},
crossorigin: {
type: String || Object,
default: undefined
},
imageStyle: {
type: Object as PropType<CSSProperties>,
default() {
return {};
}
},
options: {
type: Object as PropType<Options>,
default() {
return {};
}
}
};
export default defineComponent({
name: "Cropper",
props,
setup(props) {
const cropper: any = ref<Nullable<Cropper>>(null);
const imgElRef = templateRef<HTMLImageElement | null>("imgElRef", null);
const isReady = ref(false);
const isReady = ref<boolean>(false);
const getImageStyle = computed((): CSSProperties => {
return {

View File

@@ -2,19 +2,21 @@ import { defineComponent, ref } from "vue";
import { propTypes } from "/@/utils/propTypes";
import "./filpper.css";
const props = {
// front paper text
// 前牌文字
frontText: propTypes.number.def(0),
// back paper text
// 后牌文字
backText: propTypes.number.def(1),
// flipping duration, please be consistent with the CSS animation-duration value.
// 翻牌动画时间与CSS中设置的animation-duration保持一致
duration: propTypes.number.def(600)
};
export default defineComponent({
name: "Filpper",
props: {
// front paper text
// 前牌文字
frontText: propTypes.number.def(0),
// back paper text
// 后牌文字
backText: propTypes.number.def(1),
// flipping duration, please be consistent with the CSS animation-duration value.
// 翻牌动画时间与CSS中设置的animation-duration保持一致
duration: propTypes.number.def(600)
},
props,
setup(props) {
// eslint-disable-next-line vue/no-setup-props-destructure
const { frontText, backText, duration } = props;

View File

@@ -58,6 +58,7 @@ const rules: Object = ref({
// 点击登录或注册
const onBehavior = (evt: Object): void => {
// @ts-expect-error
instance.refs.ruleForm.validate((valid: boolean) => {
if (valid) {
emit("onBehavior", evt);
@@ -74,6 +75,7 @@ const refreshVerify = (): void => {
// 表单重置
const resetForm = (): void => {
// @ts-expect-error
instance.refs.ruleForm.resetFields();
};

View File

@@ -21,35 +21,37 @@ let overList = [];
// 存放第一个选中的元素和最后一个选中元素,只能存放这两个元素
let selectedList = [];
export default defineComponent({
name: "Selector",
props: {
HsKey: {
type: Number || String,
default: 0
},
disabled: {
type: Boolean,
default: false
},
value: {
type: Number,
default: 0
},
max: {
type: Array,
default() {
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
}
},
// 回显数据的索引长度必须是2
echo: {
type: Array,
default() {
return [];
}
const props = {
HsKey: {
type: Number || String,
default: 0
},
disabled: {
type: Boolean,
default: false
},
value: {
type: Number,
default: 0
},
max: {
type: Array,
default() {
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
}
},
// 回显数据的索引长度必须是2
echo: {
type: Array,
default() {
return [];
}
}
};
export default defineComponent({
name: "Selector",
props,
emits: ["selectedVal"],
setup(props, { emit }) {
const instance = getCurrentInstance();