Skip to content

Commit 86634fd

Browse files
authored
feat: add scss preprocessor in docs && fix:(Toast) single lifeMode bug in Toast (#65)
* fix: Toast in single lifeMode bug * feat: add scss preprocessor && fix card.md pagination.md scss syntax specification
1 parent 738074a commit 86634fd

File tree

5 files changed

+18
-10
lines changed

5 files changed

+18
-10
lines changed

packages/devui-vue/devui/toast/src/hooks/use-toast-helper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Message } from '../src/toast.type'
1+
import { Message } from '../toast-types'
22

33
export function useToastHelper() {
44
function severityDelay(msg: Message) {

packages/devui-vue/devui/toast/src/toast.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,25 @@ export default defineComponent({
106106
if (props.lifeMode === 'single') {
107107
setTimeout(() => {
108108
messages.value.forEach((msg, i) => {
109-
timeoutArr[i] = setTimeout(() => singleModeRemove(msg, i), msg.life || severityDelay(msg))
109+
timeoutArr[i] = setTimeout(() => singleModeRemove(msg), msg.life || severityDelay(msg))
110110
})
111111
})
112112
} else {
113113
timeout = setTimeout(() => removeAll(), defaultLife.value)
114114
}
115115
}
116116

117-
function singleModeRemove(msg: Message, i: number) {
117+
function singleModeRemove(msg: Message) {
118118
removeMsgAnimation(msg)
119119
setTimeout(() => {
120120
onCloseEvent(msg)
121121

122122
if (hasMsgAnimation()) {
123-
messages.value.splice(i, 1)
123+
// avoid index confusion in settimeout
124+
const index = messages.value.indexOf(msg)
125+
if (index !== -1) {
126+
messages.value.splice(index, 1)
127+
}
124128
} else {
125129
messages.value = []
126130
}
@@ -199,7 +203,7 @@ export default defineComponent({
199203
if (props.lifeMode === 'single') {
200204
const msgLife = msg!.life || severityDelay(msg!)
201205
const remainTime = msgLife - (Date.now() - timestamp)
202-
timeoutArr[i!] = setTimeout(() => singleModeRemove(msg!, i!), remainTime)
206+
timeoutArr[i!] = setTimeout(() => singleModeRemove(msg!), remainTime)
203207
} else {
204208
resetDelay(() => removeAll())
205209
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
const markdown = {
22
config: (md) => {
33
const { demoBlockPlugin } = require('vitepress-theme-demoblock')
4-
md.use(demoBlockPlugin)
4+
md.use(demoBlockPlugin, {
5+
cssPreprocessor: 'scss'
6+
})
57
}
68
}
79
export default markdown

packages/devui-vue/docs/components/card/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
</d-card>
4040
</template>
4141
<style lang="scss">
42-
@import '@devui-design/icons/icomoon/devui-icon.css'
42+
@import '@devui-design/icons/icomoon/devui-icon.css';
4343
.card-demo-icon {
4444
cursor: pointer;
4545
font-size: 16px;
@@ -114,7 +114,7 @@
114114
</d-card>
115115
</template>
116116
<style lang="scss">
117-
@import '@devui-design/icons/icomoon/devui-icon.css'
117+
@import '@devui-design/icons/icomoon/devui-icon.css';
118118
.icon {
119119
cursor: pointer;
120120
font-size: 16px;
@@ -185,7 +185,7 @@
185185
</d-card>
186186
</template>
187187
<style lang="scss">
188-
@import '@devui-design/icons/icomoon/devui-icon.css'
188+
@import '@devui-design/icons/icomoon/devui-icon.css';
189189
.icon {
190190
cursor: pointer;
191191
font-size: 16px;

packages/devui-vue/docs/components/pagination/index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ export default defineComponent({
160160
})
161161
</script>
162162
163-
<style>
163+
<style lang="scss">
164+
@import '@devui/styles-var/devui-var.scss';
165+
164166
/* 配置中的每一项,自定义项建议应用此样式或在此基础上修改 */
165167
.pagination-config-item {
166168
padding-bottom: 8px;

0 commit comments

Comments
 (0)