|
19 | 19 | 3: {value: '我是根据选项一遍历出来的值'}, |
20 | 20 | 6: {value: '我是根据选项二遍历出来的值'}, |
21 | 21 | 9: {value: '我是根据选项三遍历出来的值'} |
22 | | - } |
| 22 | + }, |
| 23 | + tabRadio: 3 |
23 | 24 | }; |
24 | 25 | }, |
25 | 26 | methods: { |
|
30 | 31 | }; |
31 | 32 | </script> |
32 | 33 |
|
| 34 | +<style> |
| 35 | + .demo-radio-tab .ksd-tag-ml { |
| 36 | + margin-left:4px; |
| 37 | + } |
| 38 | + .demo-radio-tab .ksd-fs-14 { |
| 39 | + font-size: 14px; |
| 40 | + } |
| 41 | +</style> |
| 42 | + |
33 | 43 | ## Radio 单选框 |
34 | 44 |
|
35 | 45 | :::tip |
|
41 | 51 |
|
42 | 52 | ### 基础用法 |
43 | 53 |
|
44 | | -由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。 |
| 54 | +由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。基础用法时,size 情况主要是 medium 和 small 两种 |
45 | 55 |
|
46 | 56 | :::demo 要使用 Radio 组件,只需要设置`v-model`绑定变量,选中意味着变量的值为相应 Radio `label`属性的值,`label`可以是`String`、`Number`或`Boolean`。 |
47 | 57 |
|
48 | 58 | ```html |
49 | 59 | <template> |
50 | | - <el-radio v-model="radio" label="1">备选项</el-radio> |
51 | | - <el-radio v-model="radio" label="2">备选项</el-radio> |
52 | | - |
53 | | - <el-radio v-model="radio" size="small" label="1">小号备选项</el-radio> |
54 | | - <el-radio v-model="radio" size="small" label="2">小号备选项</el-radio> |
| 60 | + <p>默认 size: medium</p> |
| 61 | + <div> |
| 62 | + <el-radio v-model="radio" label="1">备选项</el-radio> |
| 63 | + <el-radio v-model="radio" label="2">备选项</el-radio> |
| 64 | + </div> |
| 65 | + <p style="margin-top:30px;">size: small</p> |
| 66 | + <div> |
| 67 | + <el-radio v-model="radio" size="small" label="1">小号备选项</el-radio> |
| 68 | + <el-radio v-model="radio" size="small" label="2">小号备选项</el-radio> |
| 69 | + </div> |
55 | 70 | </template> |
56 | 71 |
|
57 | 72 | <script> |
|
177 | 192 |
|
178 | 193 | 实际应用场景可能有更复杂的情况,可以根据实际情况进行处理,提供的demo是为了说明有提供change这个事件。 |
179 | 194 |
|
180 | | -### 按钮样式 |
| 195 | +### 按钮样式(弃用) |
181 | 196 |
|
182 | 197 | 按钮样式的单选组合。 |
183 | 198 |
|
|
233 | 248 | ``` |
234 | 249 | ::: |
235 | 250 |
|
| 251 | + |
| 252 | +### tab 按钮样式 |
| 253 | + |
| 254 | +适用于纯单选效果的场景,没有其他整体模块与之联动的情况,使用此组件。 |
| 255 | + |
| 256 | +如果是有 tab head 和 body 的场景,切换 head 时,底下集中的一块内容会跟着互斥变化的 UI 场景,请移步使用 [Tab](#/zh-CN/component/tabs#tab-button) 组件中的 button 模式。 |
| 257 | + |
| 258 | +tab 按钮样式的单选组合,新增两个属性 is-tab 和 is-flex-equally,is-tab 控制 UI 风格,is-flex-equally 控制是否容器内等分展示 |
| 259 | + |
| 260 | +:::demo 在 el-radio-group 元素上加上属性 is-tab 后,就定制为 tab 样式的单选按钮组 ,带上 is-flex-equally 属性的话就是等分模式 |
| 261 | +```html |
| 262 | +<template> |
| 263 | + <p>基础使用 size: medium,高度 34px</p> |
| 264 | + <div> |
| 265 | + <el-radio-group v-model="tabRadio" size="medium" :is-tab="true"> |
| 266 | + <el-radio :label="3">备选项</el-radio> |
| 267 | + <el-radio :label="6">备选项</el-radio> |
| 268 | + <el-radio :label="9">备选项</el-radio> |
| 269 | + </el-radio-group> |
| 270 | + </div> |
| 271 | + <p>基础使用,不设 size, 默认 size 为 small,高度 32px</p> |
| 272 | + <div> |
| 273 | + <el-radio-group v-model="tabRadio" :is-tab="true"> |
| 274 | + <el-radio :label="3">备选项</el-radio> |
| 275 | + <el-radio :label="6">备选项</el-radio> |
| 276 | + <el-radio :label="9">备选项</el-radio> |
| 277 | + </el-radio-group> |
| 278 | + </div> |
| 279 | + <p>基础使用,size 为 mini 28px</p> |
| 280 | + <div> |
| 281 | + <el-radio-group v-model="tabRadio" size="mini" :is-tab="true"> |
| 282 | + <el-radio :label="3">备选项</el-radio> |
| 283 | + <el-radio :label="6">备选项</el-radio> |
| 284 | + <el-radio :label="9">备选项</el-radio> |
| 285 | + </el-radio-group> |
| 286 | + </div> |
| 287 | + <p>label 内容比较少的情况</p> |
| 288 | + <div> |
| 289 | + <el-radio-group v-model="tabRadio" :is-tab="true"> |
| 290 | + <el-radio :label="3">年</el-radio> |
| 291 | + <el-radio :label="6">月</el-radio> |
| 292 | + <el-radio :label="9">日</el-radio> |
| 293 | + </el-radio-group> |
| 294 | + </div> |
| 295 | + <p>等分模式</p> |
| 296 | + <div> |
| 297 | + <el-radio-group v-model="tabRadio" :is-tab="true" :is-flex-equally="true"> |
| 298 | + <el-radio :label="3">备选项</el-radio> |
| 299 | + <el-radio :label="6">备选项</el-radio> |
| 300 | + <el-radio :label="9">备选项</el-radio> |
| 301 | + </el-radio-group> |
| 302 | + </div> |
| 303 | + <p>某个选项带一个 tag 标签</p> |
| 304 | + <div class="demo-radio-tab"> |
| 305 | + <el-radio-group v-model="tabRadio" :is-tab="true" :is-flex-equally="true"> |
| 306 | + <el-radio :label="3">备选项 <el-tag class="ksd-tag-ml" is-light size="small">荐</el-tag></el-radio> |
| 307 | + <el-radio :label="6">备选项</el-radio> |
| 308 | + <el-radio :label="9">备选项</el-radio> |
| 309 | + </el-radio-group> |
| 310 | + </div> |
| 311 | + <p>某个选项带一个 icon 标签,hover 到 icon 上有 tooltip 提示</p> |
| 312 | + <div class="demo-radio-tab"> |
| 313 | + <el-radio-group v-model="tabRadio" :is-tab="true"> |
| 314 | + <el-radio :label="3">备选项</el-radio> |
| 315 | + <el-radio :label="6"> |
| 316 | + <span>备选项</span> |
| 317 | + <el-tooltip placement="top" content="该选项需要注意xxx"> |
| 318 | + <i class="el-ksd-icon-info_border_16 ksd-tag-ml ksd-fs-14"></i> |
| 319 | + </el-tooltip> |
| 320 | + </el-radio> |
| 321 | + <el-radio :label="9">备选项</el-radio> |
| 322 | + </el-radio-group> |
| 323 | + </div> |
| 324 | + <p>disable 整组</p> |
| 325 | + <div> |
| 326 | + <el-radio-group v-model="tabRadio" :is-tab="true" disabled> |
| 327 | + <el-radio :label="3">备选项</el-radio> |
| 328 | + <el-radio :label="6">备选项</el-radio> |
| 329 | + <el-radio :label="9">备选项</el-radio> |
| 330 | + </el-radio-group> |
| 331 | + </div> |
| 332 | + |
| 333 | + <p>disable 单项</p> |
| 334 | + <div> |
| 335 | + <el-radio-group v-model="tabRadio" :is-tab="true"> |
| 336 | + <el-radio :label="3" disabled>备选项</el-radio> |
| 337 | + <el-radio :label="6" disabled>备选项</el-radio> |
| 338 | + <el-radio :label="9">备选项</el-radio> |
| 339 | + </el-radio-group> |
| 340 | + </div> |
| 341 | + |
| 342 | + <p>均分模式时,disable 单项</p> |
| 343 | + <div> |
| 344 | + <el-radio-group v-model="tabRadio" :is-tab="true" :is-flex-equally="true"> |
| 345 | + <el-radio :label="3" disabled>备选项</el-radio> |
| 346 | + <el-radio :label="6">备选项</el-radio> |
| 347 | + <el-radio :label="9" disabled>备选项</el-radio> |
| 348 | + </el-radio-group> |
| 349 | + </div> |
| 350 | +</template> |
| 351 | + |
| 352 | +<script> |
| 353 | + export default { |
| 354 | + data () { |
| 355 | + return { |
| 356 | + tabRadio: 3 |
| 357 | + }; |
| 358 | + } |
| 359 | + } |
| 360 | +</script> |
| 361 | +``` |
| 362 | +::: |
| 363 | + |
| 364 | + |
236 | 365 | ### 带有边框 |
237 | 366 |
|
238 | 367 | :::demo 设置`border`属性可以渲染为带有边框的单选框。 |
|
296 | 425 | | disabled | 是否禁用 | boolean | — | false | |
297 | 426 | | text-color | 按钮形式的 Radio 激活时的文本颜色 | string | — | #ffffff | |
298 | 427 | | fill | 按钮形式的 Radio 激活时的填充色和边框色 | string | — | #409EFF | |
| 428 | +| is-tab | 是否是 tab 按钮形式的 Radio | boolean | true/false | false | |
| 429 | +| is-flex-equally | 是否占整行,同时均分每个选项 | boolean | true/false | false | |
299 | 430 |
|
300 | 431 | ### Radio-group Events |
301 | 432 | | 事件名称 | 说明 | 回调参数 | |
|
0 commit comments