单选 Vue 组件

单选 Vue 组件表示 单选 组件。

单选组件

包含以下组件

单选属性

属性类型默认描述
<f7-radio> 属性
checked布尔值定义单选输入是否选中
name字符串
数字
单选输入名称
value字符串
数字
布尔值
单选输入值
disabled布尔值定义单选输入是否已禁用
readonly布尔值定义单选输入是否只读

单选事件

事件描述
<f7-radio> 事件
change当单选框输入状态改变时,会触发事件

单选列表

单选列表不是一个独立的组件,而仅仅是使用<f7-list><f7-list-item>的特定情况。

<f7-list>
  <!-- Additional "radio" prop to enable radio list item -->
  <f7-list-item radio value="check_1" name="demo-radio" checked title="Radio 1"></f7-list-item>
  <f7-list-item radio value="check_2" name="demo-radio" title="Radio 2"></f7-list-item>
</f7-list>

单选框 v-model

单选框 Vue 组件支持 checked 属性上的 v-model

<template>
  <f7-page>
    <f7-radio v-model:checked="carsSelected" />
    <f7-radio v-model:checked="booksSelected" />
    <p>Cars selected: {{ carsSelected }}</p>
    <p>Books selected: {{ booksSelected }}</p>
  </f7-page>
</template>
<script>
  export default {
    data() {
      return {
        carsSelected: false,
        booksSelected: false,
      };
    }
  };
</script>

示例

radio.vue
<template>
  <f7-page>
    <f7-navbar title="Radio"></f7-navbar>
    <f7-block-title>Inline</f7-block-title>

    <f7-block strong-ios outline-ios>
      <p>
        Lorem <f7-radio name="demo-radio-inline" /> ipsum dolor sit amet, consectetur adipisicing
        elit. Alias beatae illo nihil aut eius commodi sint eveniet aliquid eligendi
        <f7-radio name="demo-radio-inline" checked /> ad delectus impedit tempore nemo, enim vel
        praesentium consequatur nulla mollitia!
      </p>
    </f7-block>

    <f7-block-title>Radio Group</f7-block-title>
    <f7-list strong-ios outline-ios dividers-ios>
      <f7-list-item radio radio-icon="start" title="Books" name="demo-radio-start" checked />
      <f7-list-item radio radio-icon="start" title="Movies" name="demo-radio-start" />
      <f7-list-item radio radio-icon="start" title="Food" name="demo-radio-start" />
      <f7-list-item radio radio-icon="start" title="Drinks" name="demo-radio-start" />
    </f7-list>

    <f7-list strong-ios outline-ios dividers-ios>
      <f7-list-item radio radio-icon="end" title="Books" name="demo-radio-end" checked />
      <f7-list-item radio radio-icon="end" title="Movies" name="demo-radio-end" />
      <f7-list-item radio radio-icon="end" title="Food" name="demo-radio-end" />
      <f7-list-item radio radio-icon="end" title="Drinks" name="demo-radio-end" />
    </f7-list>

    <f7-block-title>With Media Lists</f7-block-title>
    <f7-list media-list strong-ios outline-ios dividers-ios>
      <f7-list-item
        radio
        radio-icon="start"
        checked
        name="demo-media-radio"
        value="1"
        title="Facebook"
        after="17:14"
        subtitle="New messages from John Doe"
        text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
      />
      <f7-list-item
        radio
        radio-icon="start"
        name="demo-media-radio"
        value="2"
        title="John Doe (via Twitter)"
        after="17:11"
        subtitle="John Doe (@_johndoe) mentioned you on Twitter!"
        text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
      />
      <f7-list-item
        radio
        radio-icon="start"
        name="demo-media-radio"
        value="3"
        title="Facebook"
        after="16:48"
        subtitle="New messages from John Doe"
        text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
      />
      <f7-list-item
        radio
        radio-icon="start"
        name="demo-media-radio"
        value="4"
        title="John Doe (via Twitter)"
        after="15:32"
        subtitle="John Doe (@_johndoe) mentioned you on Twitter!"
        text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
      />
    </f7-list>
  </f7-page>
</template>
<script>
import {
  f7Navbar,
  f7Page,
  f7BlockTitle,
  f7Block,
  f7List,
  f7ListItem,
  f7Radio,
} from 'framework7-vue';

export default {
  components: {
    f7Navbar,
    f7Page,
    f7BlockTitle,
    f7Block,
    f7List,
    f7ListItem,
    f7Radio,
  },
};
</script>