diff --git a/src/checkbox/README.md b/src/checkbox/README.md index 72edb853c..6791db64e 100644 --- a/src/checkbox/README.md +++ b/src/checkbox/README.md @@ -20,10 +20,13 @@ app.use(CheckboxGroup); ``` ```js +import { ref } from 'vue'; + export default { - data() { + setup() { + const checked = ref(true); return { - checked: true, + checked, }; }, }; @@ -73,12 +76,17 @@ Use icon slot to custom icon. ``` ```js +import { toRefs, reactive } from 'vue'; + export default { - data() { - return { + setup() { + const state = reactive({ checked: true, activeIcon: 'https://img.yzcdn.cn/vant/user-active.png', inactiveIcon: 'https://img.yzcdn.cn/vant/user-inactive.png', + }); + return { + ...toRefs(state), }; }, }; @@ -95,18 +103,19 @@ export default { When Checkboxes are inside a CheckboxGroup, the checked checkboxes's name is an array and bound with CheckboxGroup by v-model. ```html - + Checkbox a Checkbox b ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - result: ['a', 'b'], - }; + setup() { + const checked = ref(['a', 'b']); + return { checked }; }, }; ``` @@ -114,18 +123,19 @@ export default { ### Horizontal ```html - + Checkbox a Checkbox b ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - result: [], - }; + setup() { + const checked = ref([]); + return { checked }; }, }; ``` @@ -143,7 +153,7 @@ export default { ### Toggle All ```html - + Checkbox a Checkbox b Checkbox c @@ -154,27 +164,34 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { + setup() { + const checked = ref([]); + const checkboxGroup = ref(null); + + const checkAll = () => { + checkboxGroup.value.toggleAll(true); + } + const toggleAll = () => { + checkboxGroup.value.toggleAll(); + }, + return { - result: [], + checked, + checkAll, + toggleAll, + checkboxGroup, }; }, - methods: { - checkAll() { - this.$refs.checkboxGroup.toggleAll(true); - }, - toggleAll() { - this.$refs.checkboxGroup.toggleAll(); - }, - }, }; ``` ### Inside a Cell ```html - + @@ -200,21 +217,21 @@ import { ref, onBeforeUpdate } from 'vue'; export default { setup() { - const result = ref([]); - const checkboxes = ref([]); + const checked = ref([]); + const checkboxRefs = ref([]); const toggle = (index) => { - checkboxes.value[index].toggle(); + checkboxRefs.value[index].toggle(); }; onBeforeUpdate(() => { - checkboxes.value = []; + checkboxRefs.value = []; }); return { list: ['a', 'b'], - result, toggle, - checkboxes, + checked, + checkboxRefs, }; }, }; diff --git a/src/checkbox/README.zh-CN.md b/src/checkbox/README.zh-CN.md index d84d83ae1..73fe9ce46 100644 --- a/src/checkbox/README.zh-CN.md +++ b/src/checkbox/README.zh-CN.md @@ -26,11 +26,12 @@ app.use(CheckboxGroup); ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - checked: true, - }; + setup() { + const checked = ref(true); + return { checked }; }, }; ``` @@ -87,12 +88,17 @@ export default { ``` ```js +import { toRefs, reactive } from 'vue'; + export default { - data() { - return { + setup() { + const state = reactive({ checked: true, activeIcon: 'https://img.yzcdn.cn/vant/user-active.png', inactiveIcon: 'https://img.yzcdn.cn/vant/user-inactive.png', + }); + return { + ...toRefs(state), }; }, }; @@ -111,18 +117,19 @@ export default { 复选框可以与复选框组一起使用,复选框组通过 `v-model` 数组绑定复选框的勾选状态。 ```html - + 复选框 a 复选框 b ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - result: ['a', 'b'], - }; + setup() { + const checked = ref(['a', 'b']); + return { checked }; }, }; ``` @@ -132,18 +139,19 @@ export default { 将 `direction` 属性设置为 `horizontal` 后,复选框组会变成水平排列。 ```html - + 复选框 a 复选框 b ``` ```js +import { ref } from 'vue'; + export default { - data() { - return { - result: [], - }; + setup() { + const checked = ref([]); + return { checked }; }, }; ``` @@ -176,20 +184,27 @@ export default { ``` ```js +import { ref } from 'vue'; + export default { - data() { + setup() { + const checked = ref([]); + const checkboxGroup = ref(null); + + const checkAll = () => { + checkboxGroup.value.toggleAll(true); + } + const toggleAll = () => { + checkboxGroup.value.toggleAll(); + }, + return { - result: [], + checked, + checkAll, + toggleAll, + checkboxGroup, }; }, - methods: { - checkAll() { - this.$refs.checkboxGroup.toggleAll(true); - }, - toggleAll() { - this.$refs.checkboxGroup.toggleAll(); - }, - }, }; ``` @@ -198,7 +213,7 @@ export default { 此时你需要再引入 `Cell` 和 `CellGroup` 组件,并通过 `Checkbox` 实例上的 toggle 方法触发切换。 ```html - + @@ -224,21 +239,21 @@ import { ref, onBeforeUpdate } from 'vue'; export default { setup() { - const result = ref([]); - const checkboxes = ref([]); + const checked = ref([]); + const checkboxRefs = ref([]); const toggle = (index) => { - checkboxes.value[index].toggle(); + checkboxRefs.value[index].toggle(); }; onBeforeUpdate(() => { - checkboxes.value = []; + checkboxRefs.value = []; }); return { list: ['a', 'b'], - result, toggle, - checkboxes, + checked, + checkboxRefs, }; }, }; diff --git a/src/checkbox/demo/index.vue b/src/checkbox/demo/index.vue index 61951f3b5..419f84ee8 100644 --- a/src/checkbox/demo/index.vue +++ b/src/checkbox/demo/index.vue @@ -104,7 +104,7 @@ diff --git a/src/popup/demo/index.vue b/src/popup/demo/index.vue index 1d903b11c..0c10c6d05 100644 --- a/src/popup/demo/index.vue +++ b/src/popup/demo/index.vue @@ -94,6 +94,8 @@