/*! For license information please see 8050.69ccccc5.js.LICENSE.txt */ (self.webpackChunk=self.webpackChunk||[]).push([["8050"],{38580:function(s,a,n){"use strict";n.r(a);var t=n("80681");let l=["innerHTML"];a.default={setup:()=>({html:""}),render:()=>((0,t.wg)(),(0,t.iD)("div",{class:"van-doc-markdown-body",innerHTML:'

Radio \u5355\u9009\u6846

\n

\u4ECB\u7ECD

\n

\u5728\u4E00\u7EC4\u5907\u9009\u9879\u4E2D\u8FDB\u884C\u5355\u9009\u3002

\n

\u5F15\u5165

\n

\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002

\n
import { createApp } from 'vue';\nimport { RadioGroup, Radio } from 'vant';\n\nconst app = createApp();\napp.use(Radio);\napp.use(RadioGroup);\n
\n

\u4EE3\u7801\u6F14\u793A

\n

\u57FA\u7840\u7528\u6CD5

\n

\u901A\u8FC7 v-model \u7ED1\u5B9A\u503C\u5F53\u524D\u9009\u4E2D\u9879\u7684 name\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const checked = ref('1');\n    return { checked };\n  },\n};\n
\n

\u6C34\u5E73\u6392\u5217

\n

\u5C06 direction \u5C5E\u6027\u8BBE\u7F6E\u4E3A horizontal \u540E\uFF0C\u5355\u9009\u6846\u7EC4\u4F1A\u53D8\u6210\u6C34\u5E73\u6392\u5217\u3002

\n
<van-radio-group v-model="checked" direction="horizontal">\n  <van-radio name="1">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u7981\u7528\u72B6\u6001

\n

\u901A\u8FC7 disabled \u5C5E\u6027\u7981\u6B62\u9009\u9879\u5207\u6362\uFF0C\u5728 Radio \u4E0A\u8BBE\u7F6E disabled \u53EF\u4EE5\u7981\u7528\u5355\u4E2A\u9009\u9879\u3002

\n
<van-radio-group v-model="checked" disabled>\n  <van-radio name="1">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u81EA\u5B9A\u4E49\u5F62\u72B6

\n

shape \u5C5E\u6027\u53EF\u9009\u503C\u4E3A square \u548C dot\uFF0C\u5355\u9009\u6846\u5F62\u72B6\u5206\u522B\u5BF9\u5E94\u65B9\u5F62\u548C\u5706\u70B9\u5F62\u3002

\n
<van-radio-group v-model="checked" shape="square">\n  <van-radio name="1">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n\n<van-radio-group v-model="checked" shape="dot">\n  <van-radio name="1">Radio 1</van-radio>\n  <van-radio name="2">Radio 2</van-radio>\n</van-radio-group>\n
\n

\u81EA\u5B9A\u4E49\u989C\u8272

\n

\u901A\u8FC7 checked-color \u5C5E\u6027\u8BBE\u7F6E\u9009\u4E2D\u72B6\u6001\u7684\u56FE\u6807\u989C\u8272\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1" checked-color="#ee0a24">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2" checked-color="#ee0a24">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u81EA\u5B9A\u4E49\u5927\u5C0F

\n

\u901A\u8FC7 icon-size \u5C5E\u6027\u53EF\u4EE5\u81EA\u5B9A\u4E49\u56FE\u6807\u7684\u5927\u5C0F\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1" icon-size="24px">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2" icon-size="24px">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u81EA\u5B9A\u4E49\u56FE\u6807

\n

\u901A\u8FC7 icon \u63D2\u69FD\u81EA\u5B9A\u4E49\u56FE\u6807\uFF0C\u5E76\u901A\u8FC7 slotProps \u5224\u65AD\u662F\u5426\u4E3A\u9009\u4E2D\u72B6\u6001\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1">\n    \u5355\u9009\u6846 1\n    <template #icon="props">\n      <img class="img-icon" :src="props.checked ? activeIcon : inactiveIcon" />\n    </template>\n  </van-radio>\n  <van-radio name="2">\n    \u5355\u9009\u6846 2\n    <template #icon="props">\n      <img class="img-icon" :src="props.checked ? activeIcon : inactiveIcon" />\n    </template>\n  </van-radio>\n</van-radio-group>\n\n<style>\n  .img-icon {\n    height: 20px;\n  }\n</style>\n
\n
import { ref } from 'vue';\n\nexport default {\n  setup() {\n    const checked = ref('1');\n    return {\n      checked,\n      activeIcon:\n        'https://fastly.jsdelivr.net/npm/@vant/assets/user-active.png',\n      inactiveIcon:\n        'https://fastly.jsdelivr.net/npm/@vant/assets/user-inactive.png',\n    };\n  },\n};\n
\n

\u5DE6\u4FA7\u6587\u672C

\n

\u5C06 label-position \u5C5E\u6027\u8BBE\u7F6E\u4E3A \'left\'\uFF0C\u53EF\u4EE5\u5C06\u6587\u672C\u4F4D\u7F6E\u8C03\u6574\u5230\u5355\u9009\u6846\u5DE6\u4FA7\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1" label-position="left">\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2" label-position="left">\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u7981\u7528\u6587\u672C\u70B9\u51FB

\n

\u8BBE\u7F6E label-disabled \u5C5E\u6027\u540E\uFF0C\u70B9\u51FB\u56FE\u6807\u4EE5\u5916\u7684\u5185\u5BB9\u4E0D\u4F1A\u89E6\u53D1\u5355\u9009\u6846\u5207\u6362\u3002

\n
<van-radio-group v-model="checked">\n  <van-radio name="1" label-disabled>\u5355\u9009\u6846 1</van-radio>\n  <van-radio name="2" label-disabled>\u5355\u9009\u6846 2</van-radio>\n</van-radio-group>\n
\n

\u642D\u914D\u5355\u5143\u683C\u7EC4\u4EF6\u4F7F\u7528

\n

\u642D\u914D\u5355\u5143\u683C\u7EC4\u4EF6\u4F7F\u7528\u65F6\uFF0C\u9700\u8981\u518D\u5F15\u5165 Cell \u548C CellGroup \u7EC4\u4EF6\u3002

\n
<van-radio-group v-model="checked">\n  <van-cell-group inset>\n    <van-cell title="\u5355\u9009\u6846 1" clickable @click="checked = '1'">\n      <template #right-icon>\n        <van-radio name="1" />\n      </template>\n    </van-cell>\n    <van-cell title="\u5355\u9009\u6846 2" clickable @click="checked = '2'">\n      <template #right-icon>\n        <van-radio name="2" />\n      </template>\n    </van-cell>\n  </van-cell-group>\n</van-radio-group>\n
\n

API

\n

Radio Props

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
name\u6807\u8BC6\u7B26\uFF0C\u901A\u5E38\u4E3A\u4E00\u4E2A\u552F\u4E00\u7684\u5B57\u7B26\u4E32\u6216\u6570\u5B57any-
shape\u5F62\u72B6\uFF0C\u53EF\u9009\u503C\u4E3A square dotstringround
disabled\u662F\u5426\u4E3A\u7981\u7528\u72B6\u6001booleanfalse
label-disabled\u662F\u5426\u7981\u7528\u6587\u672C\u5185\u5BB9\u70B9\u51FBbooleanfalse
label-position\u6587\u672C\u4F4D\u7F6E\uFF0C\u53EF\u9009\u503C\u4E3A leftstringright
icon-size\u56FE\u6807\u5927\u5C0F\uFF0C\u9ED8\u8BA4\u5355\u4F4D\u4E3A pxnumber | string20px
checked-color\u9009\u4E2D\u72B6\u6001\u989C\u8272string#1989fa
\n

RadioGroup Props

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u53C2\u6570\u8BF4\u660E\u7C7B\u578B\u9ED8\u8BA4\u503C
v-model\u5F53\u524D\u9009\u4E2D\u9879\u7684\u6807\u8BC6\u7B26any-
disabled\u662F\u5426\u7981\u7528\u6240\u6709\u5355\u9009\u6846booleanfalse
direction\u6392\u5217\u65B9\u5411\uFF0C\u53EF\u9009\u503C\u4E3A horizontalstringvertical
icon-size\u6240\u6709\u5355\u9009\u6846\u7684\u56FE\u6807\u5927\u5C0F\uFF0C\u9ED8\u8BA4\u5355\u4F4D\u4E3A pxnumber | string20px
checked-color\u6240\u6709\u5355\u9009\u6846\u7684\u9009\u4E2D\u72B6\u6001\u989C\u8272string#1989fa
shape v4.6.3\u5F62\u72B6\uFF0C\u53EF\u9009\u503C\u4E3A square dotstringround
\n

Radio Events

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u4E8B\u4EF6\u540D\u8BF4\u660E\u56DE\u8C03\u53C2\u6570
click\u70B9\u51FB\u5355\u9009\u6846\u65F6\u89E6\u53D1event: MouseEvent
\n

RadioGroup Events

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u4E8B\u4EF6\u540D\u8BF4\u660E\u56DE\u8C03\u53C2\u6570
change\u5F53\u7ED1\u5B9A\u503C\u53D8\u5316\u65F6\u89E6\u53D1\u7684\u4E8B\u4EF6name: string
\n

Radio Slots

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u540D\u79F0\u8BF4\u660E\u53C2\u6570
default\u81EA\u5B9A\u4E49\u6587\u672C{ checked: boolean, disabled: boolean }
icon\u81EA\u5B9A\u4E49\u56FE\u6807{ checked: boolean, disabled: boolean }
\n

\u7C7B\u578B\u5B9A\u4E49

\n

\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A

\n
import type {\n  RadioProps,\n  RadioShape,\n  RadioGroupProps,\n  RadioLabelPosition,\n  RadioGroupDirection,\n} from 'vant';\n
\n

\u4E3B\u9898\u5B9A\u5236

\n

\u6837\u5F0F\u53D8\u91CF

\n

\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u540D\u79F0\u9ED8\u8BA4\u503C\u63CF\u8FF0
--van-radio-size20px-
--van-radio-dot-size8px\u5706\u70B9\u5230\u8FB9\u754C\u7684\u8DDD\u79BB
--van-radio-border-colorvar(--van-gray-5)-
--van-radio-durationvar(--van-duration-fast)-
--van-radio-label-marginvar(--van-padding-xs)-
--van-radio-label-colorvar(--van-text-color)-
--van-radio-checked-icon-colorvar(--van-primary-color)-
--van-radio-disabled-icon-colorvar(--van-gray-5)-
--van-radio-disabled-label-colorvar(--van-text-color-3)-
--van-radio-disabled-backgroundvar(--van-border-color)-
\n
'},null,8,l))}}}]);