总结:
: label=“1”,表示label的值应为数字1
label=“1”,表示label的值应为字符串1

**问题描述:**在写编辑信息弹窗时,性别的值一直不能根据v-model的值选中,但是用{{editForm.sex}}是能正确打印出单选框的label值的。
在这里插入图片描述
以下是我的代码:

模板:

<el-radio-group v-model="editForm.sex">
            <el-radio class="radio" :label="1">男</el-radio>
            <el-radio class="radio" :label="0">女</el-radio>
</el-radio-group>

数据结构:

        //编辑界面数据
        editForm: {
          id: 0,
          name: '',
          sex: -1,
        },

数据:

        tableData: [
          {name:'tom',sex:‘1’},
          {name:'cat',sex:‘0’},
        ],

结果发现,是因为我定义的数据sex的字段为数字,而数据的sex值为字符串,两者不匹配,于是该Radio单选框组件默认值就选不中。
只要将数据中sex改为数字即可。

        tableData: [
          {name:'tom',sex:1},
          {name:'cat',sex:0},
        ],

分析原因:
翻阅vue文档未专门提及该问题,以下是自己的总结。
: label=“xx” vue特有的v-bind用于动态绑定class、对象和数组,所以原封不动解析出所填内容(否则数组加引号就变成字符串了)

label=“1”,vue支持自定义属性,不会被vue解析,所以label的值就是"1"。注:原生html不支持,只支持以data-开头的自定义属性

GitHub 加速计划 / eleme / element
15
3
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:4 个月前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐