UNPKG

taro-ui-vue3

Version:

Taro UI Rewritten in Vue 3.0

71 lines (70 loc) 1.71 kB
import {h, defineComponent, mergeProps} from "vue"; import {Text, View} from "@tarojs/components"; import AtActivityIndicator from "../activity-indicator"; import AtButton from "../button"; const AtLoadMore = defineComponent({ name: "AtLoadMore", props: { noMoreTextStyle: { type: String, default: "" }, moreBtnStyle: { type: String, default: "" }, status: { type: String, default: "more" }, loadingText: { type: String, default: "\u52A0\u8F7D\u4E2D" }, moreText: { type: String, default: "\u67E5\u770B\u66F4\u591A" }, noMoreText: { type: String, default: "\u6CA1\u6709\u66F4\u591A" }, onClick: { type: Function, default: () => () => { } } }, setup(props, {attrs}) { function handleClick() { props.onClick && props.onClick(arguments); } return () => h(View, mergeProps(attrs, { class: "at-load-more" }), { default: () => [ props.status === "loading" ? h(AtActivityIndicator, { mode: "center", content: props.loadingText }) : props.status === "more" ? h(View, { class: "at-load-more__cnt" }, { default: () => [ h(AtButton, { full: true, style: props.moreBtnStyle, onClick: handleClick.bind(this) }, {default: () => props.moreText}) ] }) : h(Text, { class: "at-load-more__tip", style: props.noMoreTextStyle }, {default: () => props.noMoreText}) ] }); } }); var load_more_default = AtLoadMore; export { load_more_default as default };