Skip to content

Commit 2773152

Browse files
committed
refactor: toggle with ts
1 parent 6682a44 commit 2773152

File tree

11 files changed

+67
-14
lines changed

11 files changed

+67
-14
lines changed

doc/doc.config.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,14 @@ export default {
279279
},
280280
{
281281
path: '/nToggle',
282-
name: 'Toggle'
282+
name: 'Toggle',
283+
component: () => {
284+
if (localLang === 'en-US') {
285+
return import('./markdown/nToggle/en-US/index.md');
286+
} else {
287+
return import('./markdown/nToggle/zh-CN/index.md');
288+
}
289+
}
283290
},
284291
{
285292
path: '/nRate',

doc/markdown/nToggle/en-US/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Use when you need to indicate the switch status.
1212
```html
1313
<template>
1414
<div>
15-
<n-toggle v-model="isOn" />
15+
<n-toggle :checked="isOn" />
1616
<n-toggle :disabled="isDisabled"/>
1717
</div>
1818
</template>

doc/markdown/nToggle/zh-CN/index.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@
1313
```html
1414
<template>
1515
<div>
16-
<n-toggle v-model="isOn" />
17-
<n-toggle :disabled="isDisabled"/>
16+
<n-toggle :checked="isOn" />
17+
<span style="margin-left:20px">
18+
<n-toggle :disabled="isDisabled"/>
19+
</span>
20+
1821
</div>
1922
</template>
2023

File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/n-toggle/index.tsx

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// import nToggle from './src/index.vue';
2+
3+
import { defineComponent, App, SetupContext } from 'vue'
4+
import './index.scss';
5+
6+
const ToggleProps = {
7+
disabled: {
8+
type: Boolean,
9+
default: false
10+
},
11+
checked: {
12+
type: Boolean,
13+
default: false
14+
}
15+
}
16+
17+
const NToggle = defineComponent({
18+
name: 'NToggle',
19+
props: ToggleProps,
20+
setup(props, { emit }: SetupContext) {
21+
22+
const handleChange = () => {
23+
emit('updateModel', props.checked);
24+
}
25+
26+
return () => (
27+
<div class="n-toggle">
28+
<label>
29+
<input
30+
id="toggle"
31+
checked={props.checked}
32+
type="checkbox"
33+
style="display: none;"
34+
disabled={props.disabled}
35+
onChange={handleChange}
36+
/>
37+
<span
38+
class="n-toggle-body"
39+
/>
40+
</label>
41+
</div>
42+
)
43+
}
44+
})
45+
46+
NToggle.install = function (app: App) {
47+
app.component(NToggle.name, NToggle);
48+
};
49+
50+
export default NToggle;
File renamed without changes.

packages/nToggle/index.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import './../assets/font/iconfont.scss';
22
import { App } from 'vue';
3-
import { default as nTag } from '../packages/nTag';
3+
import { default as nTag } from '../packages/n-tag';
44
import { default as nAlert} from '../packages/n-alert';
55
import { default as nAvatar } from '../packages/n-avatar/index';
66
import { default as nButton } from '../packages/n-button/index';
@@ -21,6 +21,7 @@ import { default as nMessage } from '../packages/n-message';
2121
import { default as nDrawer } from '../packages/n-drawer';
2222
import { default as nPagination } from '../packages/n-pagination';
2323
import { default as nProgress } from '../packages/n-progress';
24+
import { default as nToggle } from '../packages/n-toggle';
2425

2526

2627
import nSidenavItem from '../packages/n-sidenav-item';
@@ -35,7 +36,6 @@ import nModal from '../packages/n-modal';
3536

3637

3738
// import nUpload from '../packages/nUpload';
38-
import nToggle from '../packages/nToggle';
3939

4040
import nTooltip from '../packages/nTooltip';
4141
// import nTree from '../packages/nTree';

test/specs/toggle.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import nToggle from '../../packages/nToggle';
1+
import nToggle from '../../packages/n-toggle';
22
import { mount } from '@vue/test-utils';
33

44
describe('nToggle', () => {

0 commit comments

Comments
 (0)