Skip to content

Commit

Permalink
1.0.48
Browse files Browse the repository at this point in the history
  • Loading branch information
ShaoGongBra committed Nov 1, 2024
1 parent 1174dc9 commit 16660ff
Show file tree
Hide file tree
Showing 16 changed files with 57 additions and 101 deletions.
2 changes: 1 addition & 1 deletion app.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "duxui",
"description": "DUXUI库",
"version": "1.0.47",
"version": "1.0.48",
"dependencies": [
"duxapp"
],
Expand Down
14 changes: 14 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# 1.0.48

## 图标组件
将图标放在本地,防止偶尔出现图标不显示的问题

## loading
词函数已经移动到基础模块中

## ModalForm
新增 `onSubmitBefore` 可以监听用户提交,通过抛出错误的方式阻止用户提交

## 修复一些H5端导致热重载报错的问题
并未完全修复

# 1.0.47

## List
Expand Down
Binary file added components/DuxuiIcon/DuxuiIcon.ttf
Binary file not shown.
2 changes: 1 addition & 1 deletion components/DuxuiIcon/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ComponentType, Component, CSSProperties } from 'react'
import { Component, CSSProperties } from 'react'

interface names {
'banxuanze'
Expand Down
10 changes: 3 additions & 7 deletions components/DuxuiIcon/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import { font, px } from '@/duxapp/utils'
import icons from './icons.json'
import './index.scss'

font.load('DuxuiIcon', 'https://pictcdn.client.jujiang.me/fonts/DuxuiIcon.1729942957972.ttf')
if (process.env.TARO_ENV === 'rn') {
font.loadLocal('DuxuiIcon', require('./DuxuiIcon.ttf'))
}

export const DuxuiIcon = ({ name, color, size, style, className, ...props }) => {

Expand All @@ -19,16 +21,10 @@ export const DuxuiIcon = ({ name, color, size, style, className, ...props }) =>
return sty
}, [color, size, style])

const status = font.useFont('DuxuiIcon')

if (!icons[name]) {
return console.log(`DuxuiIcon的${name}图标不存在`)
}

if (!status) {
return null
}

return <Text
className={`DuxuiIcon${className ? ' ' + className : ''}`}
style={_style}
Expand Down
3 changes: 3 additions & 0 deletions components/DuxuiIcon/index.rn.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.DuxuiIcon {
font-family: DuxuiIcon;
}
5 changes: 5 additions & 0 deletions components/DuxuiIcon/index.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
.DuxuiIcon {
font-family: DuxuiIcon;
}

@font-face {
font-family: "DuxuiIcon";
src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
}
6 changes: 6 additions & 0 deletions components/Form/Modal.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ interface ModalFormProps {
*/
getValue: (value: any) => string

/**
* 在用户点击提交之前执行的函数,这可以是一个异步函数
* 如果要阻止用户提交 需要抛出一个错误
*/
onSubmitBefore: (value: any) => Promise<{}>

/**
* 弹出位置
*/
Expand Down
20 changes: 16 additions & 4 deletions components/Form/Modal.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,17 @@ export const ModalForm = ({
title,
placeholder = '请选择',
showButton = true,
onSubmitBefore,
autoSubmit,
resetMode,
childPropsValueKey,
field,
...props
}) => {

const refs = useRef({})
refs.current = { onSubmitBefore, onChange }

const { defaultValues } = useFormContext()

const [selfValue, setSelfValue] = useState(value)
Expand All @@ -56,10 +60,18 @@ export const ModalForm = ({
setFormKey(old => old + 1)
}, [defaultValues, field, value])

const submit = useCallback(val => {
onChange?.(val ?? selfValue)
setShow(false)
}, [onChange, selfValue])
const submit = useCallback(async val => {
try {
const task = refs.current.onSubmitBefore?.(val ?? selfValue)
if (task instanceof Promise) {
await task
}
refs.current.onChange?.(val ?? selfValue)
setShow(false)
} catch (error) {
console.log('ModalForm:提交被阻止', error)
}
}, [selfValue])

const showValue = useMemo(() => {
if (getValue) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import './Header.scss'
// tag替换正则
const tagReg = /&([a-zA-Z0-9]{1,});/g

export const Header = ({ data, tunes }) => {
export const Header = ({ data = {}, tunes }) => {
return <View
className={classNames('LEV-Header', 'LEV-Header--' + data.level, 'text-' + (tunes?.AlignmentTuneTool?.alignment || 'left'))}
>{data.text?.replace?.(tagReg, (a, b) => tags[b] || a) || ''}</View>
Expand Down
28 changes: 0 additions & 28 deletions components/Interact/ShowLoading.jsx

This file was deleted.

28 changes: 0 additions & 28 deletions components/Interact/ShowLoading.scss

This file was deleted.

1 change: 0 additions & 1 deletion components/Interact/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
export * from './ShowConfirm'
export * from './ShowLoading'
export * from './ShowMessage'
6 changes: 3 additions & 3 deletions components/Step/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const Row = ({
{
renderPoint
? renderPoint(item, index)
: <View className='step-comp__item__point__point' style={{ backgroundColor: item.pointColor || '#528EFF' }} />
: <View className='step-comp__item__point__point' style={{ backgroundColor: item?.pointColor || '#528EFF' }} />
}
</View>
</View>
Expand Down Expand Up @@ -114,7 +114,7 @@ const Column = ({
{
renderPoint
? renderPoint(item, index)
: <View className='step-comp__item__point__point' style={{ backgroundColor: item.pointColor || '#528EFF' }} />
: <View className='step-comp__item__point__point' style={{ backgroundColor: item?.pointColor || '#528EFF' }} />
}
</View>
</View>
Expand Down Expand Up @@ -165,7 +165,7 @@ export function Step({

const row = useMemo(() => !vertical, [vertical])

const Item = useMemo(() => row ? Row : Column, [row])
const Item = row ? Row : Column

return <RowContainer row={row}>
<View className={className} style={{ ...style, flexDirection: row ? 'row' : 'column' }} {...props}>
Expand Down
4 changes: 2 additions & 2 deletions components/TabBar/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

&__name {
margin-top: 10px;
font-size: 22px;
font-size: 24px;
color: $duxuiTabBarNameColor;

&--hover {
Expand All @@ -47,7 +47,7 @@

&__name {
margin-top: 4px;
font-size: 20px;
font-size: 24px;
color: $duxuiTabBarNameColor;

&--hover {
Expand Down
27 changes: 2 additions & 25 deletions utils/interact.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,7 @@
import { TopView, currentPage } from '@/duxapp'
import { ShowConfirm, ShowMessage, ShowLoading } from '@/duxui/components/Interact'
import { ShowConfirm, ShowMessage } from '@/duxui/components/Interact'

/**
* 在页面上显示一个loading 当页面被关闭是loading也会随着关闭
* @param {string} text loading文字
* @param {boolean} mask 是否显示遮罩
* @returns
*/
export const loading = (() => {
const pages = {}
return (text, mask) => {
const page = currentPage()
if (!pages[page]) {
pages[page] = TopView.add([ShowLoading, { text, mask }])
} else {
pages[page].update([ShowLoading, { text, mask }])
}
return () => {
/**
* bug 停止的时候有时候找不到数据
*/
pages[page]?.remove?.()
delete pages[page]
}
}
})();
export * from '@/duxapp/components/ShowLoading'

/**
* 在页面上显示一个提示框
Expand Down

0 comments on commit 16660ff

Please sign in to comment.